在C#中将JsonResult转换为不同的对象

本文关键字:对象 转换 中将 JsonResult | 更新日期: 2023-09-27 18:22:09

所以我有一个名为Balance的对象,它包含:

public class Balance
{
   string balance1;
   string balance2;
   string currency;
}

我试图将不同函数调用返回的CCD_ 2对象解析为CCD_。

我尝试过使用JsonConvert.SerializeDeseralize<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);

在C#中将JsonResult转换为不同的对象

给定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