嵌套字典对象 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}
您将拥有所需的数据格式,并且还将了解如何制定数据。希望对你有帮助
我正在使用 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}
您将拥有所需的数据格式,并且还将了解如何制定数据。希望对你有帮助