Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何解析以下JSON以检索值_Javascript_Json - Fatal编程技术网

Javascript 如何解析以下JSON以检索值

Javascript 如何解析以下JSON以检索值,javascript,json,Javascript,Json,我得到了以下JSON [{ "T1": "cost" }, { "T6": "Service Tax" }, { "T3": "VAT" }, { "T4": "OtherTax2" }, { "T5": "OtherTax1" }, { "T2": "Discount" }, { "T7": "Service Charge" }]; 我可以用 var t1value = myjson[0].T1; 但是,当我试图检索T2值时,为什么它

我得到了以下JSON

[{
    "T1": "cost"
}, {
    "T6": "Service Tax"
}, {
    "T3": "VAT"
}, {
    "T4": "OtherTax2"
}, {
    "T5": "OtherTax1"
}, {
    "T2": "Discount"
}, {
    "T7": "Service Charge"
}];
我可以用

var t1value = myjson[0].T1;
但是,当我试图检索T2值时,为什么它会给我未定义的值呢


您能告诉我如何检索所有值吗?这是因为first
index
没有属性名
T2

第一个
索引
只有一个属性名
T1

5th
索引具有属性名称
T2

console.log(myjson[5].T2);
如果您的对象设计是

[{
    "T1": "cost",
    "T6": "Service Tax",
    "T3": "VAT",
    "T4": "OtherTax2",
    "T5": "OtherTax1",
    "T2": "Discount",
    "T7": "Service Charge"
}];
那么你的方法是正确的

console.log(myjson[0].T2);
但在您的设计中,每个索引都有不同的属性

您的JSON

console.log(myjson.toString());
输出

[object Object],[object Object],[object Object],...,[object Object]
       ↑              ↑                ↑                   ↑
idx = (1)            (2)              (3)                 (n)  
[object Object]

如果是这样的话

var myjson = 
[{
    "T1": "cost", 
    "T6": "Service Tax",
    "T3": "VAT",
    "T4": "OtherTax2",
    "T5": "OtherTax1",
    "T2": "Discount",
    "T7": "Service Charge"
}];
输出

[object Object],[object Object],[object Object],...,[object Object]
       ↑              ↑                ↑                   ↑
idx = (1)            (2)              (3)                 (n)  
[object Object]

这是一个对象数组。每个对象只有一个属性。来吧,这很基本。myjson[5].T2;“一个数组”检索所有值的可能副本只需使用
for
循环即可。正如我看到的,这是一个对象数组,它们具有不同的属性。如果属性名中没有约定,我认为很难检索所有值。