3

我对使用 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"}

谢谢你的每一个想法。

4

1 回答 1

3

那应该可以正常工作。我相信错误在别处,你可能需要做一个 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

于 2013-09-03T13:21:29.677 回答