Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.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_Python 3.x - Fatal编程技术网

Python 如何迭代JSON对象?

Python 如何迭代JSON对象?,python,python-3.x,Python,Python 3.x,对不起,我是一个java背景的python初学者。我做错了什么,没有从谷歌找到它 我有配置文件.json: { 关键1:val1, 键2:val2, keyArrayOfImportantVal:[“str1”、“str2”、“str3”] } 我能够读入json文件并创建映射到json文件的变量 config_values = read_config_file('path to file') #config_values has json as I expect 我需要迭代keyara

对不起,我是一个java背景的python初学者。我做错了什么,没有从谷歌找到它

我有
配置文件.json

{
关键1:val1,
键2:val2,
keyArrayOfImportantVal:[“str1”、“str2”、“str3”]
}
我能够读入json文件并创建映射到json文件的变量

config_values = read_config_file('path to file') 
#config_values has json as I expect 
我需要迭代
keyarayofimportantval
中的值。我只是找不到我需要做什么

我以为这应该行得通,但不行

for val in config_values.keyArrayOfImportantVal:
    print (val)
也不是

importantVals = _config_values.keyArrayOfImportantVal
for val in imporantVals:
    prit(val)

您可以从这里了解如何正确读取json文件,或者如果有帮助,您也可以使用此代码段

import json

with open('path to file') as json_file:
    data = json.load(json_file)
这将迭代所有键

for x in data:
    print(x)
这将在该键“keyArrayOfImportantVal”中的值中迭代


config_values是一个字典,所以你需要用括号而不是点来索引:
config_values['keyArrayOfImportantVal']
@MarkMeyer,希望这样做,但不幸的是,我们甚至不知道这一点,因为我们看不到OP是如何读取文件的。可能没有被解析,它可能仍然是一个字符串。我想您是对的@JaredSmith。我假设json文件只是被解析为json。如果OP不知道的话,我想让他知道
json.loads()
来自
json
库。我发现这是加载json文件最简单的方法。@Mr.Hobo不,json是一种编码,json对象通常(但不一定)解码为
dict
for x in data['keyArrayOfImportantVal']:
    print(x)