我使用TypeScript的JSON数组有问题。我需要处理单个匿名元素,我的代码不起作用。这是我的JSON代码的声明:
JSONobj: JSON;
this.JSONobj =
[
{"Atributte1": "value1", "Atributte2": "value2", "Atributte3": "value3"},
{"Atributte1": "value4", "Atributte2": "value5", "Atributte3": "value6"},
{"Atributte1": "value7", "Atributte2": "value8", "Atributte3": "value9"}
];
我想访问“行”。这是我应该写入控制台第一行的代码:
console.log(this.JSONobj[0]);
但它返回的只是JSONobj的第一个字符,即“[”。那么我应该如何修改我的代码以便在代码之后进入我的控制台:
{"Atributte1": "value1", "Atributte2": "value2", "Atributte3": "value3"}
感谢您的每一个想法。
答案 0 :(得分:2)
这应该可以正常工作。我相信错误在其他地方,你可能需要做一个JSON.parse:
var JSONobj =
[
{"Atributte1": "value1", "Atributte2": "value2"},
{"Atributte1": "value4", "Atributte2": "value5"},
{"Atributte1": "value7", "Atributte2": "value8"}
];
console.log(JSONobj[0]); // prints {"Atributte1": "value1", "Atributte2": "value2"}
var stringed = JSON.stringify(JSONobj);
console.log(stringed[0]); // prints '['
var parsed = JSON.parse(stringed);
console.log(parsed[0]); // prints {"Atributte1": "value1", "Atributte2": "value2"}
PS:JSONobj: JSON;
不正确(JSON
是现代浏览器中的特殊变量)。让TypeScript为您推断出类型。但是,对于“接受任何”对象,请使用any