解析python中的json字段

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19573747/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 14:04:59  来源:igfitidea点击:

parsing json fields in python

pythondjangosimplejson

提问by Horse Voice

Is there a good tutorial on parsing json attributes in python? I would like to be able to parse the true value for "ok" field. As well as the index named "client_ind_1". I don't understand the python document coverage on this topic. If someone could explain or point me to a better resource, it would be awesome.

有没有关于在 python 中解析 json 属性的好教程?我希望能够解析“ok”字段的真实值。以及名为“client_ind_1”的索引。我不了解有关此主题的 python 文档覆盖范围。如果有人可以向我解释或指出更好的资源,那就太棒了。

My json string looks like the below:

我的 json 字符串如下所示:

{
    "ok": true,
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "indices": {
        "client_ind_2": {
            "index": {
                "primary_size": "2.5mb",
                "primary_size_in_bytes": 2710326,
                "size": "2.5mb",
                "size_in_bytes": 2710326
            }
        }
    }
}

Thank you in advance.

先感谢您。

采纳答案by iblazevic

import json

a =  """{
    "ok": true,
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "indices": {
        "client_ind_2": {
            "index": {
                "primary_size": "2.5mb",
                "primary_size_in_bytes": 2710326,
                "size": "2.5mb",
                "size_in_bytes": 2710326
            }
        }
    }
}"""

b = json.loads(a)

print(b['ok'])
print(b['indices']['client_ind_2']['index'])

This will take json as python dictionary and will print 'ok' and index value you want:

这将把 json 作为 python 字典,并打印你想要的 'ok' 和索引值:

True
{u'primary_size': u'2.5mb', u'primary_size_in_bytes': 2710326, u'size_in_bytes': 2710326, u'size': u'2.5mb'}

回答by shx2

import json
dct = json.loads(my_json_str)
is_ok = dct['ok']
client_index = dct['indices']['client_ind_2']['index']