猿问

有人如何从 JSON 文件中的嵌套数组创建一个 python 键

如图所示,我有一个带有 [] 括号中的值的 JSON 文件。我正在尝试创建一个 [key:value] 字典来显示 [id_value : text_value。]


{"id":6127465, "users":{"name":[{"dr_info":[28,37],"text":"trees"}],"favorites":[]}}

{"id":9285628, "users":{"name":[{"dr_info":[16,24],"text":"grass"}, {"id_info":[30,34],"text":"trees"}],"favorites":[]}}

{"id":7625927, "users":{"name":[{"dr_info":[18,23],"text":"grass"}],"favorites":[], "type" : "photo"}}

{"id":8725946, "users":{"name":[{"dr_info":[23,33],"text":"grass"}, {"id_info":[37,41],"text":"trees"}],"favorites":[]}}

以上面的前两行 JSON 行为例。字典的输出将是:


[6127465:'树']


[9285628 : 'grass' , 'trees'] 等等。


这是我到目前为止编码的内容,但我无法很好地获得这些值。


dict={}

with open(fileName, 'r') as file_to_read:

    for line in file_to_read:

        data = json.loads(line)

        json_tree = objectpath.Tree(data)

        json.dumps(data, ensure_ascii=True)

        dict[json_tree.execute('$.id')] = json_tree.execute('$.users.name.text')

return dict

新编辑。(回答)


dict={}

    with open(fileName, 'r') as file_to_read:

        for line in file_to_read:

            data = json.loads(line)

            json_tree = objectpath.Tree(data)

            json.dumps(data)

            dict[json_tree.execute('$.id')] = list(json_tree.execute('$.users.name.text'))

    return dict


侃侃尔雅
浏览 154回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答