Jquery移除或更改JSON根元素

Jquery remove or change JSON root element

本文关键字:JSON 元素 Jquery      更新时间:2023-09-26

我正在从第三方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);