Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据密钥从JSON文件中获取项失败,尽管该项存在于文件中_Python_Json - Fatal编程技术网

Python 根据密钥从JSON文件中获取项失败,尽管该项存在于文件中

Python 根据密钥从JSON文件中获取项失败,尽管该项存在于文件中,python,json,Python,Json,我有一个JSON文件,里面有几个键: { "button-SAVE": { "1.0.2.1.": { "by": "id", "locator": "com.shs.locator:id/tvSave" }, "1.0.0": { "by": "xpath&quo

我有一个JSON文件,里面有几个键:

{
  "button-SAVE": {
    "1.0.2.1.": {
      "by": "id",
      "locator": "com.shs.locator:id/tvSave"
    },
    "1.0.0": {
      "by": "xpath",
      "locator": "//div/span/a"
    },
    "1.0.1": {
      "by": "xpath1",
      "locator": "//div/span"
    }
  },
  "text-SAVE": {
    "1.0.2.1.": {
      "by": "id",
      "locator": "com.shs.locator:id/tvSave"
    },
    "1.0.0": {
      "by": "xpath",
      "locator": "//div/span/a"
    },
    "1.0.1": {
      "by": "xpath1",
      "locator": "//div/span"
    }
  },
  "text-HOST": {
    "1.0.2.1.": {
      "by": "id",
      "locator": "com.shs.locator:id/etHost"
    },
    "1.0.2": {
      "by": "id",
      "locator": "/ADD"
    }
  },
  "button-close": {
    "1.0.1": {
      "by": "css",
      "locator": "div span"
    },
    "1.0.2": {
      "by": "css",
      "locator": "div span a"
    }
  }
}
我想返回带有键
按钮SAVE
和版本
1.0.2.1
的元素。 这就是我尝试过的:

加载我的JSON文件:

with open('file.json') as f:
    json = load(f)
搜索

item = json['button-SAVE'].get('1.0.2.1', None)

这将返回
None
,尽管元素基于给定的
键存在

'1.0.2.1'
之后缺少一个点。根据您提供的json,执行以下操作:

item = json['button-SAVE'].get('1.0.2.1.', None)

不要使用
json
作为变量名。什么是
load
调用?