在C#中将JsonResult转换为不同的对象
本文关键字:对象 转换 中将 JsonResult | 更新日期: 2023-09-27 18:22:09
所以我有一个名为Balance
的对象,它包含:
public class Balance
{
string balance1;
string balance2;
string currency;
}
我试图将不同函数调用返回的CCD_ 2对象解析为CCD_。
我尝试过使用JsonConvert.Serialize
和Deseralize<Balance>
,但是,每次时,我要解析的对象都设置为null(即balance1 = null
等)
任何帮助都将不胜感激。
编辑:
下面是我试图解析的代码。此外,我意识到JsonResult
中的数据访问是一个名为Data
的值,显示为Data: { balance1: "800" balance2: "800" currency: "CAD"}
。
JsonResult result = admin.GetCompanyBalance(test.CustomerID, test.DevelopmentID);
string json = JsonConvert.SerializeObject(result);
Balance br = new Balance();
br = JsonConvert.DeserializeObject<Balance>(json);
给定JSON:
Data: { balance1: "800" balance2: "800" currency: "CAD"}
所需的对象似乎嵌套在父对象的Data
属性中。你可以做一些类似的事情:
JObject o = JObject.parse(json);
Balance br = o["Data"].ToObject<Balance>();
JsonResult.Data
是您要查找的Balance
对象。
JsonResult result = admin.GetCompanyBalance(test.CustomerID, test.DevelopmentID);
var balance = result.Data as Balance;
或者,如果你想测试序列化和反序列化,你可以做
var json = JsonConvert.SerializeObject(result.Data);
var br = JsonConvert.DeserializeObject<Balance>(json);
http://www.heartysoft.com/ashic/blog/2010/5/ASPNET-MVC-Unit-Testing-JsonResult-Returning-Anonymous-Types