Jquery删除或更改JSON根元素

时间:2015-04-09 09:24:18

标签: javascript php jquery json

我从第三方网络服务获取一些数据。返回数据时,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完成。

由于

2 个答案:

答案 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);