将json字符串反序列化为.NET对象列表

时间:2019-11-29 03:30:40

标签: c# json deserialization

要求

我正在尝试构建一个将json字符串作为输入的函数。并输出对象列表。 json字符串的格式与此类似:

.ToString()

我的搜索

有很多解决方案可以将json数组反序列化为对象列表,但是该数组从字符串的开头开始。即没有\“客户列表\”:部分

如果json字符串中有\“ custlist \”:部分,则这些解决方案将中断。

我的代码

这是我在C#中的代码。它正在工作,但是我必须使用正则表达式来匹配输入字符串。似乎过于复杂。必须有一个更简单的方法。谁知道,请指教

.ToString()

2 个答案:

答案 0 :(得分:4)

我真的不知道是什么问题,但本质上是:

GET

答案 1 :(得分:3)

它看起来像是存储在JSON字符串中的JSON对象。

因此首先将其反序列化为字符串,然后反序列化为正确类型的列表。您可以同时使用JsonConvert.DeserializeObject

更新:我刚刚意识到JSON中的数组是JSON对象的属性,在此不做说明。我现在没有时间解决此问题,但希望您能明白。

public List<T> Json2List<T>(string s)
{
    string json_object = JsonConvert.DeserializeObject<string>(s);

    return JsonConvert.DeserializeObject<List<T>>(json_object);
}

但是我也将研究为什么要获取这样的数据进行双序列化。