オブジェクトのリストがあります
{
"list": {
"item": [
{
"id": "12",
"value": "abc"
},
{
"id": "34",
"value": "pqr"
}
]
}
}
それを地図に変換したい
{"12": "abc", "34","pqr"}
最も簡単な方法は何ですか?
オブジェクトのリストがあります
{
"list": {
"item": [
{
"id": "12",
"value": "abc"
},
{
"id": "34",
"value": "pqr"
}
]
}
}
それを地図に変換したい
{"12": "abc", "34","pqr"}
最も簡単な方法は何ですか?
myObject.list.item.forEach(function(item){
myMap[item.id] = item.value;
}
このようなものはそれを行うでしょう...
for
ループが最も簡単な方法です。
var result = {};
for (var i = 0; i < obj.list.item.length; i++) {
result[obj.list.item[i].id] = obj.list.item[i].value;
}
console.log(result);
配列またはリストをphpまたはc#でdeserializateを使用してクラスで変換するには(http://stackoverflow.com/questions/2546138/deserializing-json-data-to-c-sharp-using-json-net)
私はこのようなことをします:
function map(list, key, value){
var result = {};
for(i in list){
result[list[i][key]] = list[i][value];
}
return result;
}
次に、オブジェクトを使用します。
var list = {
"list": {
"item": [
{
"id": "12",
"value": "abc"
},
{
"id": "34",
"value": "pqr"
}
]
}
}
私はこのような関数を呼び出すことができます:
map(list["list"]["item"],"id","value")
そして、次のように返されます:{12: "abc"、34: "pqr"}