如何使用 ASP.Net MVC 将变量转换为 JSON?

How to convert a variable to a JSON using ASP.Net MVC?

我尝试将变量转换为 JSON 字符串,但输出不符合我的要求。

我已经尝试了下面的代码,但输出不是 JSON 格式。

using (var reader = new StreamReader("C:\somedirectory\Payout.csv"))
            using (var csv = new CsvReader(reader))
            {
                csv.Configuration.RegisterClassMap<FundTransferMap>();
                var list = csv.GetRecords<FundTransfer>().ToList().Dump();
                var viewModel = new FundTransfer();
                var serializer = new JavaScriptSerializer();
                var json = serializer.Serialize(list);
                Response.Write(json);
                return View();
            }

这段代码在 Response.Write 上的输出是这样的

[Count: 1]
-- MVC.Models.FundTransfer State -- 
    senderRefId: TRANSFER-0001
    tranRequestDate: 2018-08-10T08:40:45.897
    particulars: particulars
    sender: 
        [Count: 1]
        -- MVC.Models.Sender State -- 
            name: Name1
            address: 
                [Count: 1]
                -- MVC.Models.Address State -- 
                    line1: line1
                    line2: line2
                    city: city
                    province: province
                    zipcode: zipcode
                    country: Country

但我希望它是这样的

{
    "senderRefId": "TRANSFER-0001",
    "tranRequestDate":"2018-08-10T08:40:45.897",
    "particulars":"particulars",
    "sender": {
      "name":"Name1",
      "address": {
            "line1":"Line1",
            "line2":"Line2",
            "city":"city",
            "province":"province",
            "zipCode":"zipcode",
            "country":"country"
          }
    }
  }

试试这个:

使用 JSON.Net DLL (Newtonsoft) 将 DataTable 转换为 JSON。

现在在此方法中,我们将使用 Newtonsoft DLL 将 C# 数据表转换为 JSON。

首先,您需要下载 JSON.Net DLL。您可以从 Nuget.org 下载它,然后将 Newtonsoft.JSON 命名空间导入我们的页面,如下代码所示。 JSON.NET 是一个流行的 high-performance JSON .NET 框架。

谢谢@kwingkwing.ko。我已经使用此代码解决了我的问题

var json = JsonConvert.SerializeObject(csv.GetRecords<FundTransfer>());
Response.Write(json);

这将我的对象转换为 JSON。