使用JSON填充现有对象

我使用Json.Net这样填充一个类:

var account = JsonConvert.DeserializeObject<Account>(result.ToString());

上面的结果JSON字符串填充了我的Account类中的几个属性。稍后我有一个新的JSON字符串,并希望Account使用其余属性填充相同的类。是否可以使用JSON.NET或JsonConvert方法?我基本上想在上面的代码行中添加/添加到我填充的帐户对象中。

我的课:

public class Account

{

public string CID { get; set; }

public string jsonrpc { get; set; }

public string id { get; set; }

public List<string> mail { get; set; }

public List<string> uid { get; set; }

public List<string> userPassword { get; set; }

}

回答:

是的,您可以使用JsonConvert.PopulateObject()第二个JSON字符串来填充现有对象的属性。

这是一个例子:

string json1 = @"

{

""CID"": ""13579"",

""jsonrpc"": ""something"",

""id"": ""24680""

}";

Account account = JsonConvert.DeserializeObject<Account>(json1);

string json2 = @"

{

""mail"": [ ""abc@example.com"", ""def@example.org"" ],

""uid"": [ ""87654"", ""192834"" ],

""userPassword"": [ ""superSecret"", ""letMeInNow!"" ]

}";

JsonConvert.PopulateObject(json2, account);

Console.WriteLine("CID: " + account.CID);

Console.WriteLine("jsonrpc: " + account.jsonrpc);

Console.WriteLine("id: " + account.id);

Console.WriteLine("mail: " + string.Join(", ", account.mail));

Console.WriteLine("uid: " + string.Join(", ", account.uid));

Console.WriteLine("userPassword: " + string.Join(", ", account.userPassword));

输出:

CID: 13579

jsonrpc: something

id: 24680

mail: abc@example.com, def@example.org

uid: 87654, 192834

userPassword: superSecret, letMeInNow!

小提琴:https :

//dotnetfiddle.net/621bfV

以上是 使用JSON填充现有对象 的全部内容, 来源链接: utcz.com/qa/400989.html

回到顶部