簡體   English   中英

Jsonpath獲取子節點數據

[英]Jsonpath get child node data

我在下面有一個示例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替換currentCities部分,示例我的輸出應如下所示

{    
 "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; } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM