Jquery JSON名称

Jquery JSON名称,jquery,json,Jquery,Json,我有一个从AJAX返回的JSON数组,如下所示: [{ "country": "Italy", "year2004": 3.5, "year2005": 4.2 }, { "country": "London", "year2004": 1.7, "year2005": 3.1 }, { "country": "Brazil", "year2004": 2.8, "year2005": 2.9 }, { "count

我有一个从AJAX返回的JSON数组,如下所示:

[{
    "country": "Italy",
    "year2004": 3.5,
    "year2005": 4.2
}, {
    "country": "London",
    "year2004": 1.7,
    "year2005": 3.1
}, {
    "country": "Brazil",
    "year2004": 2.8,
    "year2005": 2.9
}, {
    "country": "Spain",
    "year2004": 2.6,
    "year2005": 2.3
}, {
    "country": "France",
    "year2004": 1.4,
    "year2005": 2.1
}]
[{
    "balloonText": "[[category]]: <b>[[value]]</b>",
    "fillAlphas": 0.9,
    "lineAlpha": 0.2,
    "type": "column",
    "valueField": "data1"
}, {
    "balloonText": "[[category]]: <b>[[value]]</b>",
    "fillAlphas": 0.9,
    "lineAlpha": 0.2,
    "type": "column",
    "valueField": "data2"
},
 ......
]

我想得到数组的名称(在本例中,我想得到的是
“country”
“year2004”
“year2005”
)而不是值。有没有办法通过使用jQuery/JavaScript实现这一点?

在您的情况下,有多种可能实现您想要的功能。如果将JSON存储在变量中,则始终可以使用+运算符将名称连接到JSON

myCustomJsonString = "Myarray: " + JsonString;
或者,如果已将JSON解析为对象,则可以使用object.keys属性访问数组

var myArray = Object.keys(JsonObject[0]);
编辑以回答第二个问题:

发生的情况是,每次更改原始对象时都会覆盖数组。为了避免这种情况,只需创建一个临时对象并将其保存到数组中

var temp = array;
res[i] = temp;

谢谢你的回答,我已经通过一系列的“名字”解决了这个问题。但我有一个新问题:

我必须有这样一个对象数组:

[{
    "country": "Italy",
    "year2004": 3.5,
    "year2005": 4.2
}, {
    "country": "London",
    "year2004": 1.7,
    "year2005": 3.1
}, {
    "country": "Brazil",
    "year2004": 2.8,
    "year2005": 2.9
}, {
    "country": "Spain",
    "year2004": 2.6,
    "year2005": 2.3
}, {
    "country": "France",
    "year2004": 1.4,
    "year2005": 2.1
}]
[{
    "balloonText": "[[category]]: <b>[[value]]</b>",
    "fillAlphas": 0.9,
    "lineAlpha": 0.2,
    "type": "column",
    "valueField": "data1"
}, {
    "balloonText": "[[category]]: <b>[[value]]</b>",
    "fillAlphas": 0.9,
    "lineAlpha": 0.2,
    "type": "column",
    "valueField": "data2"
},
 ......
]
[{
“文本”:“[[category]]:[[value]]”,
“填充字母”:0.9,
“lineAlpha”:0.2,
“类型”:“列”,
“valueField”:“数据1”
}, {
“文本”:“[[category]]:[[value]]”,
“填充字母”:0.9,
“lineAlpha”:0.2,
“类型”:“列”,
“valueField”:“数据2”
},
......
]
其中数据1,数据2,。。。是由名称给出的动态值(名称是我要查找的数组),我正在尝试这样做:

var array = new Object();
var res = [];

for (i in Names)
{
    array["ballonText"] = "[[category]]: <b>[[value]]</b>";
    array["fillAlphas"] = 0.9;
    array["lineAlpha"] = 0.2;
    array["type"] = "column";
    array["valueField"] = Names[i];
    res[i] = array;
}
    result = res;

return result;
var数组=新对象();
var-res=[];
(我的名字)
{
数组[“ballonText”]=“[[category]]:[[value]]”;
数组[“fillAlphas”]=0.9;
数组[“lineAlpha”]=0.2;
数组[“类型”]=“列”;
数组[“valueField”]=名称[i];
res[i]=数组;
}
结果=res;
返回结果;
我明白了!我有我要找的东西,但我没有对象数组,而是:

 [{
    "balloonText": "[[category]]: <b>[[value]]</b>",
    "fillAlphas": 0.9,
    "lineAlpha": 0.2,
    "type": "column",
    "valueField": "data2"
}, {
    "balloonText": "[[category]]: <b>[[value]]</b>",
    "fillAlphas": 0.9,
    "lineAlpha": 0.2,
    "type": "column",
    "valueField": "data2"
},
 ......
]
[{
“文本”:“[[category]]:[[value]]”,
“填充字母”:0.9,
“lineAlpha”:0.2,
“类型”:“列”,
“valueField”:“数据2”
}, {
“文本”:“[[category]]:[[value]]”,
“填充字母”:0.9,
“lineAlpha”:0.2,
“类型”:“列”,
“valueField”:“数据2”
},
......
]

valueField的值相同,而不是data1、data2,。。。我有数据2,数据2。。你能告诉我为什么数组中的所有元素都有相同的值吗?谢谢

使用
Object.keys
,例如
Object.keys(obj[0])
,其中
obj
是对已显示的对象的引用,该对象可能重复,也可能重复