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 数据表示一个包含字典的数组。您可以像这样获取数据的字典表示:

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

我不确定这是否是你所追求的,因为你说你想像{id: 2}. 如果你想这样打印出来,你可以建立一个字典的字符串表示:

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 回答