我正在从第三方web服务获取一些数据。当返回数据时,JSON的根元素被设置为用户的用户名。由于这个用户名发生了更改,我正试图找到一种方法来删除或更改这个根元素。如果不能做到这一点,有没有办法动态修改根元素的查找?
示例为一个用户返回JSON:
{
"someuseraccount":{
"data1": 3980203,
"name": "someuseraccount",
"data2": 33,
"data3": 23,
"data4": 989839
}
}
示例为另一个用户返回JSON:
{
"someuseraccount2":{
"data1": 3980203,
"name": "someuseraccount2",
"data2": 33,
"data3": 23,
"data4": 989839
}
}
当我把数据读入一个变量时,它是通过obj.someuseraccount2.data1
完成的。这会导致应用程序出现问题,因为它只对一个用户可用。
最好通过Jquery完成,但也可以通过php完成。
感谢
您可以通过遍历键来访问数据(在这种情况下,只有一个键,但这并不重要)。
var userData = [];
for (var key in data)
{
userData.push(data[key]);
// You don't have to push here, this is only if you want to
// add the data to some larger array.
}
您可以访问data1、name、data2等属性,方法是获取json对象中的第一个密钥,然后使用json对象的该密钥:
function getFirstObjectProperty(obj)
{
for(var k in obj)
{
return k;
}
return null;
}
var json = {
"someuseraccount":{
"data1": 3980203,
"name": "someuseraccount",
"data2": 33,
"data3": 23,
"data4": 989839
}
};
var key = getFirstObjectProperty(json);
var data = json[key];
console.log(data);