首页新闻找找看学习计划

json对元祖反序列化问题

0
[已解决问题] 解决于 2019-11-05 16:56

对元祖反序列化后结果不符合预期,请问应该怎么设置才正常

 [Fact]
        public void JsonTest()
        {
            var input = new A()
            {
                MyProperty = new Tuple<string, string>("1", "1"),
                MyProperty2 = "1"
            };
            var jsonStr = JsonConvert.SerializeObject(input);
            Log.Information(jsonStr);

            input = JsonConvert.DeserializeObject<A>(jsonStr);
            jsonStr = JsonConvert.SerializeObject(input);
            Log.Information(jsonStr);
        }

        class A
        {
            public A()
            {
                MyProperty = new Tuple<string, string>("2", "2");//把这一行去掉就正常
                MyProperty2 = "3";
            }

            public Tuple<string, string> MyProperty { get; set; } 
            public string MyProperty2 { get; set; } = "2";
        }

输出结果为

[14:58:09 INF] {"MyProperty":{"Item1":"1","Item2":"1"},"MyProperty2":"1"}
[14:58:09 INF] {"MyProperty":{"Item1":"2","Item2":"2"},"MyProperty2":"1"}//期望的结果是和上面一样,但是MyProperty却变了
雙孖星的主页 雙孖星 | 初学一级 | 园豆:144
提问于:2019-11-05 15:18
< >
分享
最佳答案
0

因为里面的属性是只读的不能被修改

奖励园豆:5
通信的搞程序 | 小虾三级 |园豆:883 | 2019-11-05 16:18
其他回答(1)
0
Tangent.CZ | 园豆:147 (初学一级) | 2019-11-06 03:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册