使用JsonConvert反序列化到同一个对象(c#)

时间:2016-09-12 20:51:27

标签: c# .net json json.net

我的类中有一个方法,它使用API​​来获取数据。接下来,我使用JsonConvert.DeserializeObject来创建同一个类的另一个实例,然后将值复制到我所在的对象,这是我想要的值。虽然这很好用,但似乎必须有更好的方法来做到这一点。 (我知道它可以为SRP进一步重构。我只是想找到一种更有效的方法来将值传递给成员。)

有人能告诉我一个更好的方法吗?

         public class MyModel
         {
            public string Description { get; set; }
            public string Last_Name { get; set; }
            public string Nickname { get; set; }


            public void Load()
            {
                var results = {code that gets stuff}
                MyModel item = JsonConvert.DeserializeObject<MyModel>(results.ToString());

                this.Description = item.Description;
                this.Last_Name = item.Last_Name;
                this.Nickname = item.Nickname;
            }
            .
            .
            .

         }

1 个答案:

答案 0 :(得分:1)

你想要这个

吗?
class A
        {
            public int Id { get; set; }

            public string Value { get; set; }

            public void Load()
            {
                var json = @"{Id:1,Value:""Value""}";
                JsonConvert.PopulateObject(json, this);
            }
        }