我使用json.stringify()
方法将数组从视图传递给控制器。
该值传递给控制器并位于
中 "\"[{\\\"id\\\":1 "id\\\":2}]\""
格式。我认为这是json格式,我想将其转换为{id:1,id:2}
格式。
我尝试使用JsonConvert.SerializeObject()
将其转换为字符串格式,
但它以"\"\\\"[{\\\\\\\"id\\\\\\\":1}]\\\"\""
格式显示。
您能告诉我如何转换为{id:1,id:2}
格式/整数格式?
答案 0 :(得分:0)
var serializer = new JavaScriptSerializer();
var data = serializer.Deserialize<object[]>(jsonString);
答案 1 :(得分: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}
那样显示它。如果要像这样打印出来,可以构建字典的字符串表示形式:
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"];