0

json.stringify()メソッドを使用して、ビューからコントローラーに配列を渡しています。

その値はコントローラーに渡され、

"\"[{\\\"id\\\":1 "id\\\":2}]\""フォーマット。これはjson形式だと思います。これを{id:1,id:2}形式に変換したいと思います。

を使用してこれを文字列形式に変換しようとしましたが、形式JsonConvert.SerializeObject()で表示されてい"\"\\\"[{\\\\\\\"id\\\\\\\":1}]\\\"\""ます。

{id:1,id:2}フォーマット/整数フォーマットに変換する方法を教えてください。

4

2 に答える 2

0
var serializer = new JavaScriptSerializer();
var data = serializer.Deserialize<object[]>(jsonString);
于 2012-08-16T09:34:17.050 に答える
0

JSON データは、私が知る限り、辞書を含む配列を表しています。次のようなデータの Dictionary 表現を取得できます。

var json = "[{\"id\":1, \"id\": 2}]";
        Dictionary<string, int>[] obj = JsonConvert.DeserializeObject<Dictionary<string, int>[]> (json);
var dict = obj[0];

のように表示したいと言っているので、これがあなたが求めているものかどうかはわかりません{id: 2}。そのように出力したい場合は、Dictionary の文字列表現を作成できます。

var sb = new StringBuilder();
sb.Append("{");
foreach (var item in dict)
{
    sb.Append(string.Format("{0}: {1}, ", item.Key, item.Value));
}
sb.Remove(sb.Length - 2, 2);
sb.Append("}");
Console.WriteLine(sb.ToString());

これは印刷され{id: 2}ます。

「id」の値を取得するには、これが意味するものであれば、次のように実行できます。

var val = dict["id"];
于 2012-08-16T11:06:57.847 に答える