0
我想从返回的JSON字符串中获取键/值对;基于我的尝试,我做错了什么?正确解析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);
console.log(json_to_obj.animal);
});
我得到以下错误(这我假设手段无法正确格式的数据,即使我的JSON源似乎OK):
"jQuery.Deferred exception: Unexpected token o in JSON at position 1" "SyntaxError: Unexpected token o in JSON at position 1
at Function.parse [as parseJSON] (<anonymous>)
at HTMLDocument.<anonymous> (pen.js:13:21)
at j (https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js:2:29948)
at k (https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js:2:30262)" undefined
'$ .getJSON(json_url);'是一个异步调用 - 所以你的下一行是在'getJSON'完成之前执行。 – tymeJV
一旦你过去了整个异步问题,并找出如何$ .getJSON实际上工作 - 'json_str'实际上将是一个JavaScript对象 - 为什么你将它串起来 - 将它保存为json_strfy?并显然试图解析一个JavaScript对象,使用jquery的低级parseJSON,将失败 –