$.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
for var jsonData=JSON.parse(jdata.data); я получил ошибку Uncaught SyntaxError: Unexpected token o в JSON в позиции 1, как исправить эту ошибку?
@Kobe прав, см. дубликат сообщения. Вы излишне дважды анализируете JSON.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы пытались удалить JSON.parse();
Так что просто сделайте следующее и работайте непосредственно с этим. Это уже JSON.
var jsonData=jdata;
Вы можете попробовать что-то вроде этого, чтобы проверить это.
console.info(jdata.recordsFiltered);
Извините, что не поместил это в качестве комментария, у меня недостаточно баллов, поэтому я не могу комментировать.
Не нужно снова использовать синтаксический анализ, это уже 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.info(jsonData)
}
});<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Вы анализируете его дважды, с помощью
dataType: jsonиJSON.parse()