我从第三方网络服务获取一些数据。返回数据时,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完成。
由于
答案 0 :(得分:2)
你可以通过走钥匙来访问数据(在这种情况下,只会有一个,但这并不重要)。
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.
}
答案 1 :(得分:0)
您可以通过获取json对象中的第一个键然后在json对象中使用该键来访问data1,name,data2等属性:
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);