[英]can't print the value of json object in django
我在ajax_data變量中有這個json對象
{
"columns[0][data]": "0",
"columns[1][name]": "",
"columns[5][searchable]": "true",
"columns[5][name]": "",
"columns[4][search][regex]": "false",
"order[0][dir]": "asc",
"length": "10",
}
我已經使用json.loads()函數進行了轉換。
ajax_data = json.loads(ajax_data)
我想獲取“ order [0] [dir]”和“ columns [0] [data]”的值,但是如果我使用
ajax_data['order'][0]['dir]
它給的錯誤:
KeyError at /admin/help
'order'
但是,如果我為長度鍵訪問它,則相同的代碼也可以工作。
您使用的密鑰實際上並不是一種很好的實現方式。
{
"columns[0][data]": "0",
"columns[1][name]": "",
"columns[5][searchable]": "true",
"columns[5][name]": "",
"columns[4][search][regex]": "false",
"order[0][dir]": "asc",
"length": "10",
}
代替這個,你應該去
{
"columns": [
{"data": "0", "name": "", "searchable": "true", "name": "", "search": {
"regex": "false"}
},
{"data": "0", "name": "", "searchable": "true", "name": ""," search": {
"regex": "false"}},
{"data": "0", "name": "", "searchable": "true", "name": "", "search": {
"regex": "false"}},
{"data": "0", "name": "", "searchable": "true", "name": "", "search": {
"regex": "false"}},
{"data": "0", "name": "", "searchable": "true", "name": "", "search": {
"regex": "false"}},
{"data": "0", "name": "", "searchable": "true", "name": "", "search": {
"regex": "false"}},
],
"order": [
{"dir": "asc"}
],
"length": "10"
}
在這種情況下,ajax_data ['order'] [0] ['dir]將導致值“ asc”
對於您當前的實現,關鍵是“ order [0] [dir]”
那是去的
ajax_data["order[0][dir]"]
希望你理解這個問題。
在處理API時,json的結構非常重要。 嘗試重組您的json,這也會對將來有所幫助。
這是因為length
是該json對象中的鍵,而order
不是。 鍵名是用引號引起來的整個字符串: columns[0][data]
, order[0][dir]
等。
這些是不尋常的鍵名,但完全有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.