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
键入notIAndroidAsset1\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
});