我有一个返回缺席数据的模型,它的视图模型为:
public class Absence
{
public int id { get; set; }
public string name { get; set; }
public string type { get; set; }
public int startDate { get; set; }
public int startMonth { get; set; }
public int startYear { get; set; }
public int endDate { get; set; }
public int endMonth { get; set; }
public int endYear { get; set; }
}
我的目标是以可视方式将它们放在前端的日历控件上。这是http://www.bootstrap-year-calendar.com/提供的第三方工具,为了将这些数据输入日历,我需要在初始化控件时设置dataSource属性。在他们的示例中,他们显示的数据源设置如下:
dataSource: [
{
id: 0,
name: 'Google I/O',
location: 'San Francisco',
startDate: new Date(currentYear, 4, 28),
endDate: new Date(currentYear, 4, 29)
}
]
所以我试图获取我从数据库中检索到的假期列表,并将其存储在我的View Model类型列表中,采用与数据源预期相同的格式。
我尝试将模型数据转换为数组,首先通过JSON对其进行编码,然后将其解析回对象,如下所示:
var test = @Html.Raw(Json.Encode(Model));
var object = $.parseJSON(test);
编码它似乎工作正常但是当解析它时,我得到一个错误,说有一个无效的字符。我使用JSON并不是很好,所以我不确定它对哪个特殊字符不满意。但是我已经在下面的JSON字符串中发布了一个示例记录:
[{"id":0,"name":"Unpaid Sickness","type":"Bob Smith","startDate":11,"startMonth":4,"startYear":2016,"endDate":11,"endMonth":4,"endYear":2016}]
有人可以帮助我找出问题所在,或者您是否知道更好的方法来实现这个目标?
修改
这是我收到的完整错误消息:
http://localhost:59082/Scripts/jquery-1.10.2.js
第4栏第564行未处理的异常0x800a03f6 - JavaScript运行时错误:字符无效
编辑2
我已经对它进行了一些搞乱,我已经想出了一个可行的版本,但这是硬编码的。所以当我解析它时:
'{"id": "0", "name": "Unpaid Sickness","location": "James Peel","startDate": "11","startMonth": "4","startYear": "2016","endDate": "11","endMonth": "4","endYear": "2016"}';
工作正常。所以我不知道它是否在抱怨,因为从模型中传入的是一个对象,而不是一个简单的文本。
由于