嵌套字典对象 json 序列化

Nested Dictionary objects json serialization

我正在使用 django rest 框架以 json 格式为 jquery 返回响应。 我有一个包含另一个字典对象的字典对象:

items = {
         ['name':'Chairs','options':{'type':'office','price':100}],
         ['name':'Tables','options':{'type':'office','price':45}],
}

response = Response( json.dumps(output_items) , status=status.HTTP_200_OK)

在 JavaScript 方面,我正在使用此代码:

var array = JSON.parse(json);

那不是在解析 JSON,那是在制造错误。

我想创建这种 json 格式:


    {
                “1”:{
                    "name": "Chairs",
                    "description": "All chairs",
                    "options":{
                        "1":{"type": "Office", "price": 130 },
                        "2":{"type": "Home", "price": 75 },
                        "3":{"type": "Shop", "price": 100 }
                    }
                },
                “2”:{
                    "name": "Tables",
                    "description": "table description",
                    "options":{
                        "1":{"type": "Office", "price": 240 },
                        "2":{"type": "Home", "price": 200 },
                        "3":{"type": "Shop", "price": 180 }
                    }
                }
            }

我使用 python 字典和列表对象存储了我的所有数据,如何从字典数据创建这种格式 json 输出字符串?

您的对象有误"items"。试试这个

items = [
         {'name':'Chairs','options':{'type':'office','price':100}},
         {'name':'Tables','options':{'type':'office','price':45}},
]

您在创建字典时出错['name':'Chairs','options':{'type':'office','price':100}]这不是一对键:值

这不是正确的 json 或 Python 对象。 Python 列表不能采用命名参数。只有字典可以采用键值对。如果你想要一个列表,它必须是添加到列表中的字典,而不是作为键值对。这些项目应该是这样的:

词典列表

items = [
     {"name":"Chairs","options":{"type":"office","price":100}},
     {"name":"Tables","options":{"type":"office","price":45}},
]

(或) 词典词典

items = {
      "first":{"name":"Chairs","options":{"type":"office","price":100}},
      "second":{"name":"Tables","options":{"type":"office","price":45}}
}

你没有像其他人提到的那样正确地做,你可以在浏览器的控制台中测试它,只需输入

x={'type':'office','price':100}
//Object {type: "office", price: 100}
y={'type':'office','price':45}
//Object {type: "office", price: 45}
opt1={'type':x}
//Object {type: Object}
opt2={'type':y}
//Object {type: Object}
val1={'name':'Chairs', 'options':opt1}
//Object {name: "Chairs", options: Object}
val2={name:'tables','options':opt2}
//Object {name: "tables", options: Object}
items={'1':val1,'2':val2}

您将拥有所需的数据格式,并且还将了解如何制定数据。希望对你有帮助