簡體   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