javascript - 在javascript中从json中获取值

标签 javascript json

您好,我有一个简单的 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/

相关文章:

java - java中如何对JSON数组进行排序

javascript - 如何从 JSON 获取多个数据的 ajax 响应?

javascript - 在 opentok 样本上找不到模块 'ejs'

javascript - jquery 使用嵌套数组获取 json

json - 如何在 postgresql 中使用父对象更新 JSONB 对象

xml - 使用 powershell 将 XML 转换为特定的 JSON 结构

javascript - 重构一个使用 window.open 来使用 DOM 而不是 write() 的函数

javascript - jQuery click 函数仅适用于第一个元素

javascript - jquery 新闻自动收报机窃听

javascript - 正确迭代 JSON 返回