使用以下代码将数据转换为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;
}
答案 0 :(得分:0)
"{\"BillNo\":18}"
是有效的json字符串将在客户端的javascript中解析但不是{"BillNo":18}
var myJson = "{\"BillNo\":18}";
console.log(JSON.parse(myJson));
答案 1 :(得分:0)
不幸的是,这是不可能的。它是标准的C#字符串格式规则。 \“是双引号。请参阅转义序列:https://msdn.microsoft.com/en-us/library/h21280bw.aspx
答案 2 :(得分:0)
在C#中是可能的,但为此必须将对象列表传递给serialize方法。以下是下面给出的示例,希望对您有所帮助。
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"}]"