1

Dictionary のプロパティを含む C# クラスがあります。

この辞書にキャストする必要がある項目のリストを含む Web ページがあります。

私の Web サイトはリストを C# MVC アプリケーションに JSON として送信し、JsonConvert.Deserialize して JSON を Dictionary オブジェクトに変換します。

JsonConvert.Deserialise は、次の形式の JSON を想定しています。

  "MyVariableName":{
      "Item 1":true,
      "Item 2":true
   }

JavaScript でこのオブジェクトを構築する方法を知る必要があります。

これまでのところ、私は運なしでこれを試しました:

    var items = [];

    var v = $('#Items :input');
    $.each(v, function(key, val) {

        items.push({
            key: val.value,
            value: val.checked
        });
    });

    JSON.stringify(v, null, 2);

しかし、これは次の json 変換された値を返します。

"MyVariableName": [
    {
      "key": "Item 1",
      "value": true
    },
    {
      "key": "Item 2",
      "value": true
    }]

これは、私の辞書に逆シリアル化されません。

ありがとう

4

2 に答える 2

1

配列を作成しないでください。オブジェクトを作る:

var items = {};
$('#Items :input').each(function(i, val) {
    items[val.value] = val.checked;
});
于 2013-06-20T14:32:39.757 に答える