解码从Django应用程序发送的视图中的JSON

2024-04-25 22:14:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个django应用程序,它的网页发布了一个JSON对象,创建如下:

var content = '{ "EnergylinxTariffMenu" : [' +
     '{ "FuelPage":"dual" , "DualMenu":"electric",' +
     '  "SupplierName":"npower", "MeterType": "",' +
     '  "TestLive":"test"} ]}';
document.mainform.elements['json_content'].value = JSON.parse(content);

在我看来,我想处理这个问题:

import json
jdata = json.loads(request.POST['json_content'])

但失败的原因是:

*** ValueError: Expecting value: line 1 column 2 (char 1)

正确的解码方法是什么?你知道吗

这是Django1.7和Python3.4


Tags: 对象djangojson应用程序网页valuevarcontent
1条回答
网友
1楼 · 发布于 2024-04-25 22:14:46

在Javascript中对JSON.parse的调用不仅毫无意义,而且破坏了测试。字段值中需要的是原始JSON字符串,即content:的直接值,如果调用JSON.parse文件首先,它将被转换为一个JS对象,而这个对象的字符串值正好是[object Object]——因此您的错误就出现了。你知道吗

实际上,您要做的是在JS中构建一个对象,并使用JSON.stringify将其转储到元素:

var content = { EnergylinxTariffMenu : [
     { "FuelPage":"dual" , "DualMenu":"electric",
       "SupplierName":"npower", "MeterType": "",
       "TestLive":"test"} ]};
document.mainform.elements['json_content'].value = JSON.stringify(content);

相关问题 更多 >

    热门问题