在json中获取值

时间:2015-02-13 07:04:22

标签: python

我有以下这种格式的json:

{
    "HATg": {
        "id": "208-2", 
        "code": "225a"
        "state" : True
    }, 
    "PROPEMPTY": {
        "id": "208-3", 
        "code": "225b"
        "state" False
    }
}

我想知道如何以pythonic方式迭代文件中的每个项目时如何访问/抓取idcode?与for i in items...

一样

顺便说一下,json文件中的内容因用户添加不同内容而操作不同。如果我没有使用任何条款,请提前道歉,因为我不确定它们叫什么

2 个答案:

答案 0 :(得分:1)

假设你的“JSON”看起来更像是这样:

{
    "HATg": {
        "id": "208-2",
        "code": "225a",
        "state": true
    },
    "PROPEMPTY": {
        "id": "208-3",
        "code": "225b",
        "state": false
    }
}

并且您已成功将其解析为Python对象(例如,通过使用j = json.load(jsonfile)),然后在Python中迭代它(假设Python 3)是微不足道的:

>>> for key, value in j.items():
...     print("{}: {}, {}".format(key, value['id'], value['code']))
...
PROPEMPTY: 208-3, 225b
HATg: 208-2, 225a

答案 1 :(得分:0)

你在这里有一个python字典而不是json。您可以像这样迭代它们:

    a = {
    "HATg": {
        "id": "208-2",
        "code": "225a",
        "state" : True
    },
    "PROPEMPTY": {
        "id": "208-3",
        "code": "225b",
        "state" : False
    }
}

for i in a:
    print i
    print a[i]['id'], a[i]['code']

这将输出为

PROPEMPTY
208-3 225b
HATg
208-2 225a