Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中解析JSON时遇到问题_Javascript_Django_Json - Fatal编程技术网

在Javascript中解析JSON时遇到问题

在Javascript中解析JSON时遇到问题,javascript,django,json,Javascript,Django,Json,我在myviews.py中生成了以下json page_data= {'injured_json': '[{"pk": 24, "model": "appvisual.injured_count", "fields": {"Y_2010": 75445, "Y_2008": 70251, "Y_2009": 70504, "Y_2004": 57283, "Y_2005": 62006, "Y_2006": 64342, "Y_2007": 71099, "State_UT": "Tamil N

我在myviews.py中生成了以下json

page_data= {'injured_json': '[{"pk": 24, "model": "appvisual.injured_count", "fields": {"Y_2010": 75445, "Y_2008": 70251, "Y_2009": 70504, "Y_2004": 57283, "Y_2005": 62006, "Y_2006": 64342, "Y_2007": 71099, "State_UT": "Tamil Nadu", "Y_2003": 55242, "Y_2011": 74245}}]'}
我将这个json传递给我的javascript。我的问题是如何在javascript中操作这个json

我尝试了以下代码,但不起作用:

function test() {
    var dataRows = {{page_data}};
    console.log(dataRows.injured_json[0].pk); };  
编辑:javascript的完整json对象

{'injured_json': '[{"pk": 24, "model": "appvisual.injured_count", "fields": {"Y_2010": 75445, "Y_2008": 70251, "Y_2009": 70504, "Y_2004": 57283, "Y_2005": 62006, "Y_2006": 64342, "Y_2007": 71099, "State_UT": "Tamil Nadu", "Y_2003": 55242, "Y_2011": 74245}}]', 'total_json': '[{"pk": 23, "model": "appvisual.total_accident", "fields": {"Y_2010": 64996, "Y_2008": 60409, "Y_2009": 60794, "Y_2004": 52508, "Y_2005": 53866, "Y_2006": 55145, "Y_2007": 59140, "State_UT": "Tamil Nadu", "Y_2003": 51025, "Y_2011": 65873}}]', 'killed_json': '[{"pk": 24, "model": "appvisual.killed_count", "fields": {"Y_2010": 75445, "Y_2008": 70251, "Y_2009": 70504, "Y_2004": 57283, "Y_2005": 62006, "Y_2006": 64342, "Y_2007": 71099, "State_UT": "Tamil Nadu", "Y_2003": 55242, "Y_2011": 74245}}, {"pk": 60, "model": "appvisual.killed_count", "fields": {"Y_2010": 15409, "Y_2008": 12784, "Y_2009": 13746, "Y_2004": 9507, "Y_2005": 9758, "Y_2006": 11009, "Y_2007": 12036, "State_UT": "Tamil Nadu", "Y_2003": 9275, "Y_2011": 15422}}]'}
注意:

我发现我发送的json数据不是有效的json。我纠正了它。但现在的问题是,我正在字典中发送json数据。在接收javascrpit中的json数据时,格式变为json数据。由于额外添加了“”和“”,我无法在javascript中解析json。如何消除“”和“”来解析javascript中的json数据。

请参阅:

见:

使用
JSON

function test() {
    var data = "{{page_data}}";
    var dataRows = JSON.parse(data.injured_json);
    console.log(dataRows[0].pk); };
使用
JSON

function test() {
    var data = "{{page_data}}";
    var dataRows = JSON.parse(data.injured_json);
    console.log(dataRows[0].pk); };

我不知道为什么每个人都指向
JSON.parse
。这里的问题是您试图访问一个数组,但它实际上是一个字符串。只需删除数组周围的引号

实际上。。。您根本不需要数组。我想你在寻找更像这样的东西:

{
    "injured_json": {
        "pk": 24,
        "model": "appvisual.injured_count",
        "fields": {
            "Y_2010": 75445,
            "Y_2008": 70251,
            "Y_2009": 70504,
            "Y_2004": 57283,
            "Y_2005": 62006,
            "Y_2006": 64342,
            "Y_2007": 71099,
            "State_UT": "Tamil Nadu",
            "Y_2003": 55242,
            "Y_2011": 74245
        }
    }
}
问题在于json格式

console.log(page_data.injured_json.pk); // logs 24

我不知道为什么每个人都指向
JSON.parse
。这里的问题是您试图访问一个数组,但它实际上是一个字符串。只需删除数组周围的引号

实际上。。。您根本不需要数组。我想你在寻找更像这样的东西:

{
    "injured_json": {
        "pk": 24,
        "model": "appvisual.injured_count",
        "fields": {
            "Y_2010": 75445,
            "Y_2008": 70251,
            "Y_2009": 70504,
            "Y_2004": 57283,
            "Y_2005": 62006,
            "Y_2006": 64342,
            "Y_2007": 71099,
            "State_UT": "Tamil Nadu",
            "Y_2003": 55242,
            "Y_2011": 74245
        }
    }
}
问题在于json格式

console.log(page_data.injured_json.pk); // logs 24


谢谢你的回答。但是console.log抛出一个错误,声明“SyntaxError:JSON.parse:unexpected character”@positlabs我想他是从django发送“JSON对象”,所以他必须使用双大括号来读取中的变量javascript@Chuvi如果您是从django发送“Json对象”,您将如何发送它?您是否将json.dumps与正确的mimetype一起使用?@VictorCastilloTorres:您将json对象发送到脚本是正确的。请参阅我对发送到脚本的完整json对象的编辑。顺便说一句,我是她。@VictorCastilloTorres:我使用simplejson.dumps,mimetype是application/jsontanks作为你的答案。但是console.log抛出一个错误,声明“SyntaxError:JSON.parse:unexpected character”@positlabs我想他是从django发送“JSON对象”,所以他必须使用双大括号来读取中的变量javascript@Chuvi如果您是从django发送“Json对象”,您将如何发送它?您是否将json.dumps与正确的mimetype一起使用?@VictorCastilloTorres:您将json对象发送到脚本是正确的。请参阅我对发送到脚本的完整json对象的编辑。顺便说一句,我是她。@VictorCastilloTorres:我使用simplejson.dumps,mimetype是application/jsontanks作为你的答案。但是console.log抛出一个错误,声明“SyntaxError:JSON.parse:unexpected character”@Chuvi使用此脚本?是的,仅使用此脚本。它不支持嵌套JSON,请包含字段,然后重试。。没用了,谢谢你的回答。但是console.log抛出一个错误,声明“SyntaxError:JSON.parse:unexpected character”@Chuvi使用此脚本?是的,仅使用此脚本。它不支持嵌套JSON,请包含字段,然后重试。。它不起作用