JSON:将一件代码调整到我的程序中



我有以下代码

给定以下数据:

json_data = '{
    "firstname": "John",
    "information": {
        "city": "London",
        "country": "UK"
    }
}'

可以通过以下代码轻松访问其字段:

data = json.loads(json_data, object=lambda y: namedtuple('x', y.keys())(*y.values()))
print data.firstname, data.information.city etc

我一直在努力做的是找到一种加载到字符串的JSON文件数据的方法:

转换以下:

with open(fichier_json) as json_data:
        data = json.load(json_data)

进入这个:

{
    "firstname": "John",
    "information": {
        "city": "London",
        "country": "UK"
    }
}

您可以使用json.dumpsdata对象的内容转换为字符串。使用您的示例:

import json
json_data = '{"firstname": "John", "information": {"city": "London", "country": "UK"}}'
jd = json.loads(json_data)
jd_str = json.dumps(jd)
print(jd_str)

此打印

{"information": {"country": "UK", "city": "London"}, "firstname": "John"}

显然,如果您关心在结果的字符串中订购,这可能会更加困难,因为字典不尊重顺序。

相关内容

最新更新