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

如何在c#中将数据转换或序列化为Json格式?,c#,.net,json,C#,.net,Json,Am使用以下代码将数据转换为Json,返回值为: “{\'BillNo\':18}”。但我想返回键和值对的值,比如:{“BillNo”:18} public String Get() { var MaxBillNo = db.Billings.Max(b => b.BillNo.Substring(9, 5)); int i = Int32.Parse(MaxBillNo); BillNumber billN

Am使用以下代码将数据转换为Json,返回值为: “{\'BillNo\':18}”。但我想返回键和值对的值,比如:{“BillNo”: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;
       }
“{\“BillNo\”:18}”
是有效的,json字符串将在客户端用javascript解析,但不是
{“BillNo”:18}

var myJson=“{\“BillNo\”:18}”;

log(JSON.parse(myJson))很遗憾,这是不可能的。这是标准的C#字符串格式规则。 \“是双引号。请参阅转义序列:

在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;

为什么不在BillNumber对象中使用BillNo是一个整数,因此它将被序列化为一个不带引号的整数。好吧,那么你在哪里看到“{\“BillNo\”:18}”-这是调试的结果还是打印出来的结果?因为如果调试的结果只是转义引号,那么实际值将是“本身”。无需重新编译
JsonConvert.SerializeObject(新BillNumber{BillNo=5})
返回
{“BillNo”:5}
。您可能被调试窗口中看到的内容弄糊涂了—看起来您可能正在双重序列化JSON。也就是说,返回的字符串在更高的代码级别上再次序列化为JSON,从而导致转义。如果您正在使用,请参阅。否则,请告诉我们您使用的框架以及如何返回JSON。为什么不可能?事实上,我敢打赌OP会混淆debug窗口中的value字段,该窗口显示
\“
要使实际字符串能够在字符串中使用双引号,必须先使用反斜杠。是C#规范。仅以文本形式,即您在代码中键入的字符串。但我们根本不谈论这个。OP询问为什么字符串值包含转义字符?很可能没有,OP正在调试窗口中检查值。在控制台上打印或写入文件,结果将是
{“BillNo”:18}
我们所说的字符串。见问题。问题是-如何返回JSON字符串结果而不使用反斜杠。在JSON中传递整数不需要转换为文本<代码>{“BillNo”:18}
有效,OP询问转义字符。我想返回如下值:{“BillNo”:18}
"[{"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"}]"