Javascript 正确解析JSON数据
我想从返回的JSON字符串中获取键/值对;基于我的努力,我做错了什么Javascript 正确解析JSON数据,javascript,jquery,json,getjson,Javascript,Jquery,Json,Getjson,我想从返回的JSON字符串中获取键/值对;基于我的努力,我做错了什么 $(document).ready(function(){ var json_url = "http://hudsonspine.com/ldn/ldn.json"; var json_str = $.getJSON(json_url); var json_strfy = JSON.stringify(json_str); var json_to_obj = $.parseJSON(json_str); c
$(document).ready(function(){
var json_url = "http://hudsonspine.com/ldn/ldn.json";
var json_str = $.getJSON(json_url);
var json_strfy = JSON.stringify(json_str);
var json_to_obj = $.parseJSON(json_str);
console.log(json_to_obj.animal);
});
我得到以下错误(我假设这意味着数据格式不正确,即使我的JSON源代码看起来还可以):
“jQuery.Deferred异常:位置1处JSON中的意外标记o”语法错误:位置1处JSON中的意外标记o
在Function.parse[as parseJSON]()
在HTMLDocument上。(pen.js:13:21)
在j(https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js:2:29948)
在k(https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js:2:30262)“未定义
$。getJSON
不会作为结果返回JSON。这是一个异步函数,结果被传递给回调函数。它已经被解析了(这是$.get
和$.getJSON
之间的唯一区别),因此您不需要使用类似$.parseJSON
$.getJSON($json_url, function(result) {
console.log(result.animal);
});
$.getJSON
不会作为结果返回JSON。这是一个异步函数,结果被传递给回调函数。它已经被解析了(这是$.get
和$.getJSON
之间的唯一区别),因此您不需要使用类似$.parseJSON
$.getJSON($json_url, function(result) {
console.log(result.animal);
});
$.getJSON(json\u url)
是一个异步调用-因此下一行将在getJSON
完成之前执行。一旦您解决了整个异步问题,并了解了$.getJSON的实际工作方式-json\u str
将实际上是一个javascript对象-为什么要将其字符串化-将其保存为json\u strfy?显然,使用jquery的低级parseJSON解析javascript对象将失败$.getJSON(json\uURL)
是一个异步调用-因此下一行将在getJSON
完成之前执行。一旦您解决了整个异步问题,并了解了$.getJSON的实际工作方式-json\u str
将实际上是一个javascript对象-为什么要将其字符串化-将其保存为json\u strfy?显然,尝试使用jquery的低级parseJSON解析javascript对象将失败