2017-10-18 48 views
-11

我有一個從Web服務返回的JSON對象,我想從對象中提取元素,特別是第一個元素是id如何從Web服務獲取JSON中的元素

[{"id":2,"type":"Asset", 
    "assetNumber":"13723", 
    "macAddress":null,"networkName": 
    "13723imsmid8","model": 
{"id":16,"type":"Model", 
    "modelName":"M73","manufacturer": 
{"id":10,"type":"Manufacturer"}}}, 
{"id":3556,"type":"Asset", 
    "assetNumber":"13723", 
    "macAddress":null, 
    "networkName":null, 
    "model":{"id":16,"type":"Model", 
    "modelName":"M73","manufacturer": 
{"id":10,"type":"Manufacturer"}}}, 
{"id":7196,"type":"Asset", 
    "assetNumber":"13723", 
    "macAddress":null,"networkName":null, 
    "model":{"id":16,"type":"Model", 
    "modelName":"M73","manufacturer": 
    {"id":10,"type":"Manufacturer"}}}, 
    {"id":9720,"type":"Asset", 
    "assetNumber":"13723", 
    "macAddress":null,"networkName":null, 
    "model":{"id":16,"type":"Model","modelName":"M73", 
    "manufacturer": {"id":10,"type":"Manufacturer"}}}, 
    {"id":11689,"type":"Asset", 
    "assetNumber":"13723", 
    "macAddress":null, 
    "networkName":null," 
    model":{"id":68,"type":"Model", 
    "modelName":"POC-W211","manufacturer": 
    {"id":19,"type":"Manufacturer"}}},{"id":11906,"type":"Asset", 
    "assetNumber":"13723", 
    "macAddress":null, 
    "networkName":null, 
    "model":{"id":71,"type":"Model", 
    "modelName":"OptiPlex 780", 
    "manufacturer":{"id":5,"type":"Manufacturer"}}}] 
+1

請[MCVE] –

+0

你嘗試過什麼?發佈您目前爲止的代碼。 –

+0

詳細的問題描述和問題在哪裏?請花一些時間閱讀[問] – charlietfl

回答

0

您可以將數據陣列上進行迭代,並使用數組映射函數提取ID:

const data = [{"id":2,"type":"Asset","assetNumber":"13723","macAddress":null,"networkName":"13723imsmid8","model":{"id":16,"type":"Model","modelName":"M73","manufacturer":{"id":10,"type":"Manufacturer"}}},{"id":3556,"type":"Asset","assetNumber":"13723","macAddress":null,"networkName":null,"model":{"id":16,"type":"Model","modelName":"M73","manufacturer":{"id":10,"type":"Manufacturer"}}},{"id":7196,"type":"Asset","assetNumber":"13723","macAddress":null,"networkName":null,"model":{"id":16,"type":"Model","modelName":"M73","manufacturer":{"id":10,"type":"Manufacturer"}}},{"id":9720,"type":"Asset","assetNumber":"13723","macAddress":null,"networkName":null,"model":{"id":16,"type":"Model","modelName":"M73","manufacturer":{"id":10,"type":"Manufacturer"}}},{"id":11689,"type":"Asset","assetNumber":"13723","macAddress":null,"networkName":null,"model":{"id":68,"type":"Model","modelName":"POC-W211","manufacturer":{"id":19,"type":"Manufacturer"}}},{"id":11906,"type":"Asset","assetNumber":"13723","macAddress":null,"networkName":null,"model":{"id":71,"type":"Model","modelName":"OptiPlex 780","manufacturer":{"id":5,"type":"Manufacturer"}}}]; 

const ids = data.map(item => item.id) 
// returns an array of ids: [2, 10, 16, ...] 
+0

對不起,在asp.net –

+0

@RayÓSé爲什麼不是用asp.net標記的問題,以及爲什麼當你不想在JS中使用解決方案時,用JavaScript標記它? **標籤很重要**。 – Amy

+0

對不起我的壞..我是一個小白菜,我會盡力讓這些更新 –

0

或者,

var json = [{"id":2,"type":"Asset","assetNumber":"13723","macAddress":null,"networkName":"13723imsmid8","model":{"id":16,...'; 
var p = 0; 
do { 
    p=json.indexOf('"id":',p)+5; 
    n=json.indexOf(',',p); 
    alert(json.substr(p,(n-p))); 
} 
while (json.indexOf('"id":',p)>0);