-1

我对一些问题感到疯狂,我不知道如何解决它。我正在尝试解析一个简单的 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);

这有效

4

3 回答 3

3

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

"OID:":"1b383180186940dc0cc2a781fcf013ce"

看起来应该是

"OID":"1b383180186940dc0cc2a781fcf013ce"

反而。

于 2015-06-09T00:45:05.973 回答
3

您的变量中有一个额外的:符号。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"
      }
    ];

希望有帮助!

于 2015-06-09T00:45:21.527 回答
2

在您的 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:']如果您打算使用额外的冒号,则需要参考。

于 2015-06-09T00:47:39.643 回答