使用Typescript接近JSON中的数组的匿名元素

时间:2013-09-03 12:31:25

标签: json typescript

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

感谢您的每一个想法。

1 个答案:

答案 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"}

Try it

PS:JSONobj: JSON;不正确(JSON是现代浏览器中的特殊变量)。让TypeScript为您推断出类型。但是,对于“接受任何”对象,请使用any