繁体   English   中英

NewtonSoft.Json JsonConvert反序列化错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM