您好,我有一个简单的 JSON 输出:
"{
\"max_output_watts\": 150,
\"frame_length_inches\": \"62.20\",
\"frame_width_inches\": \"31.81\"
}"
我在这样的函数中使用:
...
$.getJSON(pop_model_dims_url, {model_id: selected}, function(data, jqXHR){
alert(data.max_output_watts);
});
...
警报现在只是一个占位符,但我不明白为什么警报值为“未定义”。如果我这样做:
...
$.getJSON(pop_model_dims_url, {model_id: selected}, function(data, jqXHR){
alert(data);
});
...
我得到了预期的完整 json 转储。
非常感谢任何帮助。
最佳答案
由于您的alert(data);
为您提供了完整的 JSON 转储,这可能意味着 JSON 已在服务器上双重编码。
jQuery 会为您解析一次,但您需要再次解析。
$.getJSON(pop_model_dims_url, {model_id: selected}, function(data, jqXHR){
data = $.parseJSON(data);
alert(data.max_output_watts);
});
当然,这不是一个正确的修复。正确的解决方案是在服务器上修复它。
完成后,您将不再需要 $.parseJSON
。
关于javascript - 在javascript中从json中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13258821/