我有以下代码
给定以下数据:
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.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"}
显然,如果您关心在结果的字符串中订购,这可能会更加困难,因为字典不尊重顺序。