如何在 c# 中将数据转换或序列化为 Json 格式

本文关键字:序列化 Json 格式 转换 数据 | 更新日期: 2023-09-27 18:37:04

我使用以下代码将数据转换为 Json,返回值为:"{"账单号":18}" .但是我想为键和值对返回值,例如:{"账单号":18}

      public String Get()
       {
         var MaxBillNo = db.Billings.Max(b => b.BillNo.Substring(9, 5));
         int i = Int32.Parse(MaxBillNo);
         BillNumber billNumber = new BillNumber();
         billNumber.BillNo = i;
         string json = JsonConvert.SerializeObject(billNumber);
         return json;
       }

如何在 c# 中将数据转换或序列化为 Json 格式

"{'"BillNo'":18}"是有效的 JSON 字符串将在客户端的 JavaScript 中解析,但不会解析{"BillNo":18}

var myJson = "{'"BillNo'":18}";
console.log(JSON.parse(myJson));

不幸的是,

这是不可能的。它是标准的 C# 字符串格式设置规则。''" 是双引号。请参阅转义序列:https://msdn.microsoft.com/en-us/library/h21280bw.aspx

在 C# 中是可能的,但为此您必须传递对象列表来序列化方法。这是下面给出的示例,希望对您有所帮助。

    SmaccLib smacclib = new SmaccLib();
    smaccDate = smacclib.Date_SaveFormat(date);
    List<EmployeeAbsents> listEmployeeAbsents = _hrManager.EmployeeAbsentManager.SelectEmployeeAbsentsByDate(smaccDate, rowIndex);
    if (listEmployeeAbsents != null && listEmployeeAbsents.Count > 0)
    {
        return JsonConvert.SerializeObject(listEmployeeAbsents);
    }
    return string.Empty;

你的结果将是这样的。

"[{"EmployeeAbsentID":"81e930bb-a38e-4b85-ba6c-9cbd6e706872","EmployeeCode":"20","EmployeeName":"Bilal","AbsentDate":"11/09/2016","AbsentTypeCode":"10","AbsentTypeName":"Casual","IsDeductable":true,"Remarks":"re","EntryFrom":0,"RowIndex":4,"OperatingUserID":0,"RecordTimeStamp":"2016-02-19T13:20:44.417"}]"