在python中将JSON对象转换为字典

Gur*_*B M 9 python json

我有基本的数据串,在对象中有一个对象..

{"id":"XXXX", "name": "xyz", "user" : { "id": "XXXX", "username":"XYZ", group:{"id": "XXXX"}}}. You can check this format using "http://chris.photobooks.com/json/default.html" site.
Run Code Online (Sandbox Code Playgroud)

我没有要求将此转换为JSON对象作为字典.我试过以下方式

import json
JSON_Datalist = '{"id":"XXXX", "name": "xyz", "user" : { "id": "XXXX", "username":"XYZ", group:{"id": "XXXX"}}}'
the_dict = json.loads(JSON_DataList)
Run Code Online (Sandbox Code Playgroud)

但the_dict只给出左侧值,没有正确的值...

以同样的方式,如果字符串有格式..

"[{"sample": false, "radop": null, "view": true, "Example1": null}, {"noMarket": false, "Example2": null}]"
Run Code Online (Sandbox Code Playgroud)

并遵循相同的代码.

JSON_Datalist = '[{"sample": false, "radop": null, "view": true, "Example1": null}, {"noMarket": false, "Example2": null}]'

the_dict = json.loads(JSON_DataList)
Run Code Online (Sandbox Code Playgroud)

它给出了长度为2的字典,这就是预期...

在第一种情况下我可以帮助我如何获得字典...

Alf*_*lfe 6

我在你的第一个例子中发现了两个错误:

  1. group的字典你的字符串(Json)版本.这应该是"group"(带引号).
  2. 你把变量拼错了; JSON_DatalistJSON_DataList(小写与大写字母L).

修好后,我再也没有问题了:

>>> JSON_Datalist = '{"id":"XXXX", "name": "xyz", "user" : { "id": "XXXX", "username":"XYZ", "group":{"id": "XXXX"}}}'
>>> the_dict = json.loads(JSON_Datalist)
>>> the_dict
{u'user': {u'username': u'XYZ', u'group': {u'id': u'XXXX'}, u'id': u'XXXX'}, u'id': u'XXXX', u'name': u'xyz'}
Run Code Online (Sandbox Code Playgroud)


小智 5

修复后问题组应该是“group”,下面的代码可以满足您的要求

json_data={"id":"XXXX", "name": "xyz", "user" : { "id": "XXXX", "username":"XYZ", "group":{"id": "XXXX"}}}
data = json.dumps(json_data)
json_to_python = json.loads(data)
print (json_to_python)


{'id': 'XXXX', 'name': 'xyz', 'user': {'id': 'XXXX', 'username': 'XYZ', 'group': {'id': 'XXXX'}}}
Run Code Online (Sandbox Code Playgroud)