如何使用Python创建嵌套的JSON对象

时间:2015-09-16 02:55:23

标签: python json

我需要制作类似于以下内容的JSON输出

{   "items": [
     "number": {
       "value": 23
       "label": test
    }
]
}

我已经用下面的代码做了类似的事情,但我无法弄清楚我需要在项目下嵌套数字。

#!/usr/bin/python

import json

myjson = {'items':[]}
d = {}
d['value'] = 23
d['label'] = "test"
myjson.get('items').append(d)
output = json.dumps(myjson)
print output

那给了我

{
"items": [{
  "value": 23, 
  "label": "test"}
]}

1 个答案:

答案 0 :(得分:4)

您的输入JSON不合适,应该是:

{ "items": 
    [ 
       {
       "number": 
           {
           "value": 23,
           "label": "test"
           }
       } 
    ] 
}

除此之外它可能会变得混乱,但访问结果dict是直观的。

 jdict = json.loads(yourjson)
 jdict['items'] => [{"number":{...}}]
 jdict['items'][0] => {"number":{...}}
 jdict['items'][0]['number']['value'] => 23

修改

认为你其实只是想要这个:

myjson.get('items').append({'number': d})

您必须附加字典,而不是字词条目到项目。