【问题标题】:How to convert JSON string to javascript objects?如何将 JSON 字符串转换为 javascript 对象?
【发布时间】:2011-01-20 22:54:55
【问题描述】:

我搜索了这个主题,但似乎找不到正确的方法来解析 JSON 字符串以读取对象。

这是我的代码

$.getJSON("<url>", 
function(data) {

alert("success!"+data);

});

输出:

success![object Object],[object Object],[object Object],[object Object]

Firebug 显示正确的响应,当我单击 JSON 选项卡时,我会看到所有对象。

谢谢!

【问题讨论】:

  • jQuery 会为您触发 JSON 解析,因为您使用的是 $.getJSON。如果您想查看原始字符串,只需执行 $.get() 请求即可。然后你可以做var parsed = $.parseJSON(data) 来解析它。 (我假设这是 jQuery 代码。)
  • 是的,它是 jQuery。我会尝试你的建议,但我想知道我的方法有什么问题..,当我提醒 data[0].key 时,我得到未定义,与 data[0] 一样,我得到 [object Object], [对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象]
  • @user:你不再有字符串。 jQuery 已为您触发解析,因此您现在拥有常规的 javascript 对象。要访问它们的内容,您要么需要在 for/in 循环中遍历它们,要么需要预先确定它们的内容知识。如果由于某种原因您不知道键是什么,请使用$.get() 并查看字符串。或者,代替alert(data),执行console.log(data) 并打开浏览器的控制台。这将让您检查内容。

标签: javascript json parsing


【解决方案1】:

解析 JSON 字符串时,会将其转换为 Javascript 对象。如果对对象使用字符串方法,则返回字符串[object Object]

您需要改用对象属性访问方法(例如alert(data.somekey);)。

【讨论】:

  • 可能是data[0].somekey,因为它看起来像一个对象数组。
  • 我使用 JSONArray 生成了数据,格式为 [{"key":"value...}, {}...]
  • @user 在不知道您想对数据做什么的情况下很难回答您的问题。你需要添加一个真实的例子......
【解决方案2】:

如果您有 Firebug,请不要在这种情况下使用 alert() 进行调试。使用console.log(data),您将直接了解您的 JSON 数据。 在这种情况下,您会意识到绝对没有错:D。

【讨论】:

    【解决方案3】:

    JSON = JavaScript Object Notation 正是因为它是在 JavaScript 中声明对象字面量的方式。 data 参数已经是一个 Javascript 对象(在您的情况下是一个对象数组),您可以访问它:

    data[index].fieldname
    

    【讨论】:

    • 嗨,当我提醒数据 [0] 时,我得到 [object Object],[object Object],[object Object],[object Object],[object Object],[object Object], [object Object],[object Object],[object Object],[object Object] 当我使用 data[0].key 时,我得到 undefined... :(
    • 提示一:下载JSON文件,查看对象结构。提示二:正确访问该结构。例如。如果它是一个数组数组,则以data[i][j] 等身份访问...也许您可以向我们展示您的 JSON 数据
    • 你的提示让我意识到这是二维数组。我可以看到数据!谢谢:)
    【解决方案4】:

    在此处输入您的 json 字符串,然后单击左上角创建的树视图,您将看到如何访问它 link text

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-16
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 2016-10-09
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多