如何修复Uncaught SyntaxError:JSON中位置1处的意外令牌o

时间:2019-06-26 10:01:54

标签: javascript jquery json

$.ajax({
                url: "/url/url.ajax?length=100000&startDate=2018-07-01",
                method: "get",
                dataType: "json",
                success: function (jdata) {
                    var jsonData=JSON.parse(jdata.data);
                }
            });

回复Json:

{startIndex: 0, draw: 0, recordsTotal: 22, recordsFiltered: 22, pageNumber: 0,…}
data: [{,…}, {,…}, {,…}, {,…},…]
0: {,…}
1: {,…}
2: {,…}
3: {,…}
4: {shequData: {specialFlag: null, userCode: "17110000003", passportNo: "T02221", id: null,…},…}
5: {,…}
6: {,…}
7: {,…}
8: {,…}
9: {,…}
10: {,…}
11: {,…}
12: {,…}
13: {,…}
14: {shequData: {specialFlag: null, userCode: "ZY88888", passportNo: "Z01917", id: null,…}, remark: null,…}
15: {,…}
16: {,…}
17: {,…}
18: {,…}
19: {,…}
20: {,…}
21: {,…}
draw: 0
pageNumber: 0
recordsFiltered: 22
recordsTotal: 22
startIndex: 0

json具有超过100000个字符,因此我发布了json预览

对于var jsonData=JSON.parse(jdata.data);,我收到错误消息Uncaught SyntaxError:位置1的JSON中的意外令牌o如何解决此错误?

2 个答案:

答案 0 :(得分:0)

您是否尝试删除JSON.parse();

所以只需执行以下操作,然后直接使用它即可。已经是JSON了。

   var jsonData=jdata;

您可以尝试使用这种方法进行测试。

  console.log(jdata.recordsFiltered);

很抱歉没有对此发表评论,我的分数还不够,所以不允许发表评论。

答案 1 :(得分:0)

无需再次使用解析,它已经是json

$.ajax({
                url: "/url/url.ajax?length=100000&startDate=2018-07-01",
                method: "get",
                dataType: "json",
                success: function (jdata) {
                    var jsonData=jdata.data;
                }
            });

$.ajax({
                url: "https://jsonplaceholder.typicode.com/posts",
                method: "get",
                dataType: "json",
                success: function (jdata) {
                    var jsonData=jdata
                    console.log(jsonData)
                }
            });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>