第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用[JsonConvert()]時(shí),JSON.Net引發(fā)StackOverflow

使用[JsonConvert()]時(shí),JSON.Net引發(fā)StackOverflow

C#
慕運(yùn)維8079593 2019-12-06 10:54:00
我將這些簡(jiǎn)單的代碼寫為Serialize類,以使其扁平化,但是當(dāng)我使用[JsonConverter(typeof(FJson))]批注時(shí),它將引發(fā)StackOverflowException。如果我SerializeObject手動(dòng)撥打電話,它可以正常工作。如何在注釋模式下使用JsonConvert:class Program    {        static void Main(string[] args)        {            A a = new A();            a.id = 1;            a.b.name = "value";            string json = null;            // json = JsonConvert.SerializeObject(a, new FJson()); without [JsonConverter(typeof(FJson))] annotation workd fine            // json = JsonConvert.SerializeObject(a); StackOverflowException            Console.WriteLine(json);            Console.ReadLine();        }    }    //[JsonConverter(typeof(FJson))] StackOverflowException    public class A    {        public A()        {            this.b = new B();        }        public int id { get; set; }        public string name { get; set; }        public B b { get; set; }    }    public class B    {        public string name { get; set; }    }    public class FJson : JsonConverter    {        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)        {            JToken t = JToken.FromObject(value);            if (t.Type != JTokenType.Object)            {                t.WriteTo(writer);                return;            }            JObject o = (JObject)t;            writer.WriteStartObject();            WriteJson(writer, o);            writer.WriteEndObject();        }        private void WriteJson(JsonWriter writer, JObject value)        {            foreach (var p in value.Properties())            {                if (p.Value is JObject)                    WriteJson(writer, (JObject)p.Value);                else                    p.WriteTo(writer);            }        }        public override object ReadJson(JsonReader reader, Type objectType,           object existingValue, JsonSerializer serializer)        {            throw new NotImplementedException();        }
查看完整描述

3 回答

  • 3 回答
  • 0 關(guān)注
  • 754 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)