Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将此JSON字符串反序列化回列表<;T>;?_C#_Json_List_Serialization_Interface - Fatal编程技术网

C# 如何将此JSON字符串反序列化回列表<;T>;?

C# 如何将此JSON字符串反序列化回列表<;T>;?,c#,json,list,serialization,interface,C#,Json,List,Serialization,Interface,我希望能够使用JSON来序列化和反序列化一个列表,其中类型是一个接口 我有代码将列表序列化为字符串,但不确定如何将JSON字符串反序列化为列表 以下是我的代码,用于对列表进行序列化: 以下是我得到的错误: “Newtonsoft.Json.JsonSerializationException”类型的异常 在Newtonsoft.Json.dll中发生,但未在用户代码中处理 其他信息:无法反序列化当前JSON数组 (例如[1,2,3])转换为类型 因为 类型需要一个JSON对象(例如{“name”

我希望能够使用
JSON
序列化
反序列化
一个
列表
,其中类型是一个
接口

我有代码将
列表
序列化为字符串,但不确定如何将
JSON
字符串反序列化为
列表

以下是我的代码,用于对
列表进行序列化

以下是我得到的错误:

“Newtonsoft.Json.JsonSerializationException”类型的异常 在Newtonsoft.Json.dll中发生,但未在用户代码中处理

其他信息:无法反序列化当前JSON数组 (例如[1,2,3])转换为类型 因为 类型需要一个JSON对象(例如{“name”:“value”})来反序列化 没错

要修复此错误,请将JSON更改为JSON对象(例如。 {“name”:“value”})或将反序列化类型更改为数组或 实现集合接口的类型(例如ICollection、IList) 类似于可以从JSON数组反序列化的列表。 还可以将JsonArrayAttribute添加到类型中,以强制它 从JSON数组反序列化

路径“”,第1行,位置1

请允许我帮助
反序列化
JSON
字符串以返回
列表


提前感谢。

您正在序列化一个列表,而不是单个的
IAndroidAsset1\u 1
对象,因此您需要反序列化到
list
键入not
IAndroidAsset1\u 1

var deserializedObject = JsonConvert.DeserializeObject<List<IAndroidAsset1_1>>(serializedJson, new JsonSerializerSettings
{
     TypeNameHandling = TypeNameHandling.Objects
});
var deserializedObject=JsonConvert.DeserializeObject(serializedJson,新的JsonSerializerSettings
{
TypeNameHandling=TypeNameHandling.Objects
});

谢谢您的回答。
var deserializedObject = JsonConvert.DeserializeObject<IAndroidAsset1_1>(serializedJson, new JsonSerializerSettings
{
    TypeNameHandling = TypeNameHandling.Objects
});
var deserializedObject = JsonConvert.DeserializeObject<List<IAndroidAsset1_1>>(serializedJson, new JsonSerializerSettings
{
     TypeNameHandling = TypeNameHandling.Objects
});