-3

オブジェクトのリストがあります

{
  "list": {
    "item": [
      {
        "id": "12",
        "value": "abc"
      },
      {
        "id": "34",
        "value": "pqr"
      }
    ]
  }
}

それを地図に変換したい

{"12": "abc", "34","pqr"}

最も簡単な方法は何ですか?

4

4 に答える 4

2
myObject.list.item.forEach(function(item){
  myMap[item.id] = item.value;
}

このようなものはそれを行うでしょう...

于 2013-01-15T12:39:33.660 に答える
1

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);
于 2013-01-15T12:38:18.990 に答える
1

配列またはリストをphpまたはc#でdeserializateを使用してクラスで変換するには(http://stackoverflow.com/questions/2546138/deserializing-json-data-to-c-sharp-using-json-net)

于 2013-01-15T12:38:36.307 に答える
1

私はこのようなことをします:

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

于 2013-01-21T20:30:05.947 に答える