簡體   English   中英

嵌套字典對象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 = [
         {'name':'Chairs','options':{'type':'office','price':100}},
         {'name':'Tables','options':{'type':'office','price':45}},
]

您在dict的創建過程中遇到了錯誤['name':'Chairs','options':{'type':'office','price':100}]這不是一對鍵:value

這不是正確的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}

您將擁有所需的數據格式,並且也將獲得有關如何編制數據的想法。 希望能幫助到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM