JSON:为我的程序调整一段代码

时间:2017-05-03 13:33:41

标签: python

我有以下代码

给出以下数据:

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"
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用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"}

显然,如果你关心在结果字符串中排序,这可能会更难,因为字典不尊重顺序。