【问题标题】:JSON parsing not working javascript [closed]JSON解析不起作用javascript [关闭]
【发布时间】:2015-06-09 00:41:21
【问题描述】:

我被一些问题弄疯了,我不知道如何解决它。我正在尝试解析一个简单的 json 字符串并用它来更新我网站上的内容。

var json = [{"OID:":"1b383180186940dc0cc2a781fcf013ce", "NUMBER":"029348203984","SETTINGS":"Default","LATEST":"09-06-2015"}];
var obj=json[0];
console.log(obj['OID']);
console.log(obj['NUMBER']);

这会导致:

未定义

029348203984

所以读出数字就可以了。但是 OID 并不顺利。在我的另一段代码中它工作正常

var obj = arr[i];
var optn = document.createElement("OPTION");
optn.text = obj['OID'];
document.getElementById("List").options.add(optn);

这行得通

【问题讨论】:

  • 密钥本身包含一个: 字符——obj["OID:"]

标签: javascript json parsing sanity-check


【解决方案1】:

您的json 变量中有一个额外的: 符号。

Try:
var json = [{"OID":"1b383180186940dc0cc2a781fcf013ce", "NUMBER":"029348203984","SETTINGS":"Default","LATEST":"09-06-2015"}];
var obj=json[0];
console.log(obj['OID']);
console.log(obj['NUMBER']);

编辑:
下次,我建议以更易读的格式声明您的对象(和数组的内容,以及任何可以超过 80 个字符的内容)。它将有助于捕获此类错误。

    var json = [
      {
      "OID:":"1b383180186940dc0cc2a781fcf013ce",
      "NUMBER":"029348203984","SETTINGS":"Default",
      "LATEST":"09-06-2015"
      }
    ];

希望有帮助!

【讨论】:

  • 那是肉眼看不到的东西:D
  • 哈哈哈 这就是你迟到的编码。谢谢!
【解决方案2】:

在原始 JSON 中,您的 JSON 键中似乎有一个额外的字符:

"OID:":"1b383180186940dc0cc2a781fcf013ce"

应该是这样的

"OID":"1b383180186940dc0cc2a781fcf013ce"

改为。

【讨论】:

    【解决方案3】:

    在您的 json 对象中,引号内有一个冒号。

    var json = [{"OID:":"1b383180186940dc0cc2a781fcf013ce", "NUMBER":"029348203984","SETTINGS":"Default","LATEST":"09-06-2015"}];

    应该是……

    var json = [{"OID":"1b383180186940dc0cc2a781fcf013ce", "NUMBER":"029348203984","SETTINGS":"Default","LATEST":"09-06-2015"}];

    否则,如果您打算使用额外的冒号,则需要引用 obj['OID:']

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-22
      • 2013-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多