JSON是否太大而无法解析?

时间:2013-05-30 14:42:11

标签: javascript json model-view-controller knockout.js

我从我的数据库中获取了一个学校列表及其对应的列,这些列有1000多行,然后将其转换为JSON并将其传递给我的视图并使用

解析它
$.parseJSON('@Html.Raw(Model.subChoiceJsonString)')

然后将其放入数组

ko.observableArray($.parseJSON('@Html.Raw(Model.subChoiceJsonString)'));

但是我的问题是它不起作用,但是当行数小得多时它就可以工作。

我认为由于Javascript中字符串的限制而无法解析。那是对的吗?我怎样才能使它发挥作用?

3 个答案:

答案 0 :(得分:6)

parseJSON()需要一个字符串 你传递的是一个错误转义的字符串文字,如果JSON有单引号,它将会中断。

相反,您应该使用常规的Javascript文字:

var myObject = @Html.Raw(Model.subChoiceJsonString);

请注意,如果JSON具有U + 2028 LINE SEPARATOR,则会中断;见here

答案 1 :(得分:0)

是的,这似乎是巨大的...相反,我会添加分页或类似于你的控件。我不知道为什么用户想要一次看到1000多个项目。相反,一次只显示50-100,并允许用户在完整列表中进行分页。

答案 2 :(得分:0)

HTTP本身没有大小限制,但也许您的服务器框架有一些限制。或者可能是您的HTTP请求超出哪个更大的响应。