问题

我在文件中有这个JSON:

{
    "maps": [
        {
            "id": "blabla",
            "iscategorical": "0"
        },
        {
            "id": "blabla",
            "iscategorical": "0"
        }
    ],
    "masks": [
        "id": "valore"
    ],
    "om_points": "value",
    "parameters": [
        "id": "valore"
    ]
}

我写了这个脚本打印所有的json文本:

json_data=open(file_directory).read()

data = json.loads(json_data)
pprint(data)

如何解析文件并提取单个值?



解决方法

我想Ignacio说的是你的JSON文件不正确.当您应该拥有 {} 时,您拥有 [] . [] 用于列表, {} 用于字典.

以下是您的JSON文件的外观,您的JSON文件甚至不会为我加载:

{
    "maps": [
        {
            "id": "blabla",
            "iscategorical": "0"
        },
        {
            "id": "blabla",
            "iscategorical": "0"
        }
    ],
    "masks": {
        "id": "valore"
    },
    "om_points": "value",
    "parameters": {
        "id": "valore"
    }
}

然后您可以使用您的代码:

import json
from pprint import pprint

with open('data.json') as data_file:    
    data = json.load(data_file)

pprint(data)

使用数据,您现在还可以找到如下值:

data["maps"][0]["id"]
data["masks"]["id"]
data["om_points"]

尝试一下,看看它是否有意义.




相关问题推荐