2016-04-27 6 views
2

私はnodejsとangularjsを使ってプロジェクトを作成しています。私はjsonが好きです:JSONデータをJavaScriptでカスタマイズする

[{ 
    "links": [{ 
     "description": null, 
     "latency": "1", 
     "linkid": "26149e91-f6c8-47fb-a10d-691e76486871", 
     "contracts": null, 
     "tag": null, 
     "connections": [ 
      "ce00ba7c-4916-4920-a7dc-7b70daea9e7a", 
      "6d3ec325-4b27-4772-b0d9-36d4cc7b9e47" 
     ], 
     "type": "0", 
     "linkStatus": 1, 
     "bandwitdth": 799999 
    }, { 
     "description": null, 
     "latency": "1", 
     "linkid": "2f11f857-251f-4b01-9140-12abfda8d79b", 
     "contracts": null, 
     "tag": null, 
     "connections": [ 
      "bcdc3622-f0b3-4bf2-80fd-3aaee5af1c4c", 
      "ca059990-937e-4b29-8a21-615244d56689" 
     ], 
     "type": "0", 
     "linkStatus": 1, 
     "bandwitdth": 1024 
    }, { 
     "description": null, 
     "latency": "1", 
     "linkid": "7cf69528-13bc-4b90-b952-549fbbab1032", 
     "contracts": null, 
     "tag": null, 
     "connections": [ 
      "b164c679-f9d9-406d-94a8-b85b99a03bdc", 
      "616e4bce-592e-4864-b9f6-149f541fc7d1" 
     ], 
     "type": "0", 
     "linkStatus": 1, 
     "bandwitdth": 1024 
    }, { 
     "description": null, 
     "latency": "1", 
     "linkid": "d6b67215-6ca5-4f63-8573-e952c132d4af", 
     "contracts": null, 
     "tag": null, 
     "connections": [ 
      "ebe0a008-29d2-48f9-bd71-4324a0712618", 
      "bc36697a-4768-46a1-8e05-62376103b476" 
     ], 
     "type": "0", 
     "linkStatus": 1, 
     "bandwitdth": 1024 
    }, { 
     "description": "TestFlow", 
     "latency": "1", 
     "linkid": "fd73608aa8e7b440", 
     "contracts": null, 
     "tag": null, 
     "connections": [ 
      "49b33cd1-5722-4e8e-b40c-03c3407c5efe", 
      "cd354769-d52a-414e-bb7c-f0e0690ddf3b" 
     ], 
     "type": "0", 
     "linkStatus": 6, 
     "bandwitdth": 0 
    }], 
    "billing-uuid": "5f1dd7c5-c48b-44ed-be14-cf2a8730fe27" 
}] 

他のjsonではconnectionsが必要です。以下のようである

[{ 
"conn":"49b33cd1-5722-4e8e-b40c-03c3407c5efe" 
}, 
{ 
"conn":"49b33cd1-5722-4e8e-b40c-03c3407c5efe" 
}] 

}

マイコード:

var billinData = []; 
    var connections = []; 
    for(i = 0; i < body.length; i++){ 
        billingData.push({"billing-account-uuid":body[i]['billing-uuid']}) 
        var nLinksLen = body[i].links.length; 

        for (j = 0; j < nLinksLen; j++){ 
         var nConLen = body[i].links[j].connections.length 
         console.log(nConLen) 
         for (k = 0; k < nConLen; k++){ 
          connections.push({"vportuuid": body[i].links[j].connections[k]}); 
         } 
        } 
       } 

私は重複の一部を持つレコードの千でこれを取得しています:

[ 
    { 
    "conn": "ce00ba7c-4916-4920-a7dc-7b70daea9e7a" 
    }, 
    { 
    "conn": "6d3ec325-4b27-4772-b0d9-36d4cc7b9e47" 
    }] 

このことは次のようにする必要があります正しい結果が得られません。

私のループが正しいことを知りたいだけですか?

あなたは簡単にこの問題を解決するために forEachまたは reduceアレイ方式を使用することができます
+0

重複レコードと – angular

+0

だから、最初にJSONからの接続を分離し、別のJSONにそれらを配置したいですか? – dimlucas

+0

@dimlucas:はい.. – angular

答えて

0

var obj= JSON.parse(...); 

var connections=obj.links.reduce(function (array,elem) { 
    elem.connections.forEach(function (conn) { 
    array.push({'conn': conn}); 
    } 
    return array; 
},[]); 
関連する問題