Javascript 是否有方法访问嵌套json的值并将其添加到嵌套对象之外
对不起,我想不出更好的词来表达我的问题 所以问题是,假设我有一个嵌套的json,出于某种原因,我想获取一个嵌套的键值对对象的值,并将其放在外部 我有Javascript 是否有方法访问嵌套json的值并将其添加到嵌套对象之外,javascript,json,typescript,Javascript,Json,Typescript,对不起,我想不出更好的词来表达我的问题 所以问题是,假设我有一个嵌套的json,出于某种原因,我想获取一个嵌套的键值对对象的值,并将其放在外部 我有 DataSource= [ { "a": 1, "name": "jack", "version": 1, "Id": "39da", "active": false, "userId": "jack_user", "pro
DataSource= [
{
"a": 1,
"name": "jack",
"version": 1,
"Id": "39da",
"active": false,
"userId": "jack_user",
"properties": [
{
"id": 7080,
"key": "country",
"value": "in",
},
{
"id": 7081,
"key": "state",
"value": "xyz",
},
]}]
我想要:
DataSource= [
{
"a": 1,
"name": "jack",
"version": 1,
"Id": "39da",
"active": false,
"userId": "jack_user",
"country": "in"
"properties": [
{
"id": 7080,
"key": "country",
"value": "in",
},
{
"id": 7081,
"key": "state",
"value": "xyz",
},
]}]
使用下面的代码,我可以迭代整个JSON。但是,我无法从属性数组中选择对象
for (var i = 0; i < this.DataSource.length; i++) {
var tempDataSource = this.DataSource;
console.log(tempDataSource );
for(var i=0;i
您可以尝试下面我的代码片段
让obj=[{
“a”:1,
“姓名”:“杰克”,
“版本”:1,
“Id”:“39da”,
“主动”:假,
“用户ID”:“jack_用户”,
“财产”:[{
“id”:7080,
“关键”:“国家”,
“值”:“in”,
},
{
“id”:7081,
“密钥”:“状态”,
“值”:“xyz”,
},
]
}];
控制台日志('berfore',obj);
obj[0][obj[0]。属性[0]。键]=obj[0]。属性[0]。值;
log('after',obj);
您可以这样做。
这里我假设数据数组只有一个对象
const data = [
{
"a": 1,
"name": "jack",
"version": 1,
"Id": "39da",
"active": false,
"userId": "jack_user",
"properties": [
{
"id": 7080,
"key": "country",
"value": "in",
},
{
"id": 7081,
"key": "state",
"value": "xyz",
},
]
}
]
data[0].properties.forEach(obj => {
if (data[0][obj.key] == 'country') {
data[0][obj.key] = obj.value
}
})
console.log(data)
输出-
[
{
"a": 1,
"name": "jack",
"version": 1,
"Id": "39da",
"active": false,
"userId": "jack_user",
"properties": [
{
"id": 7080,
"key": "country",
"value": "in"
},
{
"id": 7081,
"key": "state",
"value": "xyz"
}
],
"country": "in"
}
]
你试过什么,它到底有什么问题?还有为什么只在“国家”:“在”中,而不是在“州”:“xyz”?我能够在Json上迭代并获取我想要的任何值,但我不知道如何在外部显示该值。我只需要根据条件来显示多个值。基本上,我想筛选key=='country',然后只在外部显示它