>我在下面有一个示例 json 输入
{
"India":{
"Attributes":{"Time":"2006-05-04T03:22:11.499Z"},
"ActiveCity":{
"profile":"Mumbai"
},
"CurrentCities":{
"Mumbai":{"population":"121212121","Area":8},
"Delhi":{"population":"121212121","Area":8},
"Lonng":{"population":"121212121","Area":8}
},
"FeatureCities":{
"NewMumbai":{"population":"121212121","Area":8},
"NewDelhi":{"population":"121212121","Area":8},
"NewLonng":{"population":"121212121","Area":8}
}
}
}
我正在使用打字稿将当前的城市部分替换为仅ActiveCity,例如我的输出应如下所示
{
"India":{
"Attributes":{"Time":"2006-05-04T03:22:11.499Z"},
"ActiveCity":{
"profile":"Mumbai"
},
"CurrentCities":{
"Mumbai":{"population":"121212121","Area":8}
},
"FeatureCities":{
"NewMumbai":{"population":"121212121","Area":8},
"NewDelhi":{"population":"121212121","Area":8},
"NewLonng":{"population":"121212121","Area":8}
}
}
}
使用 Jsonpath 如何在打字稿中实现这一点? 有什么建议吗?
只需使用当前值访问currentCities
中的对象:
obj.India.CurrentCities[obj.India.ActiveCity.profile]
let obj = { "India": { "Attributes": { "Time": "2006-05-04T03:22:11.499Z" }, "ActiveCity": { "profile": "Mumbai" }, "CurrentCities": { "Mumbai": { "population": "121212121", "Area": 8 }, "Delhi": { "population": "121212121", "Area": 8 }, "Lonng": { "population": "121212121", "Area": 8 } }, "FeatureCities": { "NewMumbai": { "population": "121212121", "Area": 8 }, "NewDelhi": { "population": "121212121", "Area": 8 }, "NewLonng": { "population": "121212121", "Area": 8 } } }}
obj.India.CurrentCities = {[obj.India.ActiveCity.profile]: obj.India.CurrentCities[obj.India.ActiveCity.profile]}
console.log(obj);
.as-console-wrapper { max-height: 100% !important; top: 0; }