将模型数据解析为JQuery数组

时间:2017-02-13 11:56:55

标签: jquery json twitter-bootstrap calendar

我有一个返回缺席数据的模型,它的视图模型为:

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"}';

工作正常。所以我不知道它是否在抱怨,因为从模型中传入的是一个对象,而不是一个简单的文本。

由于

0 个答案:

没有答案