【问题标题】:Parse JSON from django with jquery使用 jquery 从 django 解析 JSON
【发布时间】:2013-08-08 06:17:15
【问题描述】:

我正在尝试通过 AJAX 调用将数据结果从 django 发送到 JSON 中的 javascript。 在 django 我有以下变量

results = {key1:[1,2,3],
           key2:[[name1,lat1,lng1],[name2,lat2,lng2],[name3,lat3,lng3]]}

然后我可以成功返回results 的 json 转储 我已验证我的 javascript ajaxSuccess 函数捕获的数据正是 results

我希望输出如下:

var1 = [1,2,3]
var2 = [name1, lat1, lng1]
var3 = [name2, lat2, lng2]
var4 = [name3, lat3, lng3]

在 javascript 中解析结果的最佳方法是什么,我应该先在 django 中以其他方式重新格式化它吗?

【问题讨论】:

  • 差不多,但是我的 JSON 有点复杂,我不知道如何处理它

标签: javascript jquery django json


【解决方案1】:

根据您对问题的更新,这里有一个 jsfiddle,其中包含您正在寻找的确切输出。

http://jsfiddle.net/jhanifen/7RfNs/

还有一个使用 jquery 循环的 jsfiddle

http://jsfiddle.net/jhanifen/7RfNs/1/

根据您要如何解析和使用结果,尝试使用 jquery,如评论中所述的 karthikr

http://api.jquery.com/jQuery.each/

如 jquery 文档中所述

jQuery.each(obj, function(i, val) {
  $("#" + i).append(document.createTextNode(" - " + val));
});

你也可以在 django 中使用 json.dumps,这使得输出 json 变得非常容易,看这篇文章

Creating a JSON response using Django and Python

return HttpResponse(json.dumps(response_data), mimetype="application/json")

【讨论】:

  • 这就是我已经将结果传递给 .js 的方式。抱歉,如果不清楚。这会影响 jquery 吗?
  • 您能否举例说明您希望输出的方式。我认为,如果我们对您在客户端要完成的工作有更好的了解,我们可以更具体地回答您的帖子
  • bcoop713,添加了一个 jsfiddle,其中包含您正在寻找的确切输出。
  • 非常感谢。我一直在尝试使用 JSON.parse 但由于某种原因这破坏了一切。非常感谢。
  • 最好将 JSFiddle 的相关部分放入答案中,并将 JSFiddle 作为补充。这样下一个访问这个问题的人就不必担心 JSFiddle 是否启动了。
【解决方案2】:

您可以在 javascript 中使用 JSON.parse(results) 或 eval(results) 来解析结果。

【讨论】:

    【解决方案3】:

    只需使用ajax():

    $.ajax({ 
        type: 'GET', 
        url: 'http://example/foo/', 
        dataType: 'json',
        success: function (data) { 
            console.log(data); // do anything you want with your parsed data
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多