我有以下代码
给出以下数据:
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"
}
}
答案 0 :(得分:0)
您可以使用json.dumps
将data
对象的内容转换为字符串。要使用您的示例:
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"}
显然,如果你关心在结果字符串中排序,这可能会更难,因为字典不尊重顺序。