2

我有以下格式的字符串:

{ "Updated" : [ { "FIRST_NAME" : "Aaa", "LAST_NAME" : "Bbb" } ] }

我怎样才能得到一本字典,这样我就可以打电话了dict["FIRST_NAME"]

我尝试了以下方法,但我认为它们不起作用,因为我的字符串是 JSON数组?如果是这种情况,如何将其更改为常规 JSON 字符串?我认为它不需要是一个包含简单数据类型的数组......数组的大小永远不会超过1 - 即,不会有重复的字段。

Dictionary<string, string> dict = serializer.Deserialize<Dictionary<string, string>>(jsonString); //didn't work

JArray jArray = JArray.Parse(jsonString); //didn't work
4

2 回答 2

2

你所拥有的是一个复杂的对象,它可以被解析为一个字典数组的字典!

所以你可以像这样解析它:

var dic = serializer.Deserialize<Dictionary<string, Dictionary<string, string>[]>>(jsonString)["Updated"][0];
var firstName = dic["FIRST_NAME"];
var lastName = dic["LAST_NAME"];
于 2013-01-14T19:48:49.350 回答
0

使用动态变量可能更容易。请参阅将 JSON 反序列化为 C# 动态对象?更多细节。

于 2013-01-14T19:16:13.290 回答