[英]NewtonSoft.Json JsonConvert Deserialize error
我已成功使用Newtonsoft.Jsonconverter SerializeObject序列化了一个复杂对象(包含抽象类,只读属性)。 尝试使用DeserializeObject方法反序列化时,它会抛出以下错误 - 已添加具有此键的项。 在进一步调查中,我发现对象中可能存在一些具有相同名称的属性。 但我找不到任何在重新序列化的json文件中重复的属性名称。
NewtonSoft Json的版本:8.0.3
嗨,我试图复制你的错误,但实际上我得到的是一个成功的结果。 这是我做的测试:
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
var child = new Child();
var serializesObject = JsonConvert.SerializeObject(child);
var deserializedObject = JsonConvert.DeserializeObject(serializesObject, typeof(Child));
}
}
public abstract class Abstract
{
public int Prop1 { get; set; }
public readonly string Prop2;
public List<string> Prop3 { get; set; }
public int[] Prop4 { get; set; }
public abstract void Hey();
public Abstract()
{
Prop1 = 1;
Prop2 = "2";
Prop3 = new List<string>();
Prop4 = new int[4];
}
}
public class Child : Abstract
{
public readonly string Prop5;
public Child()
{
Prop5 = "5";
}
public override void Hey()
{
throw new NotImplementedException();
}
}
}
我希望这段代码可以帮助您达到您想要的预期结果。
干杯,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.