[英]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.