Как распарсить экранированный json?

352
10 июля 2017, 19:17

Помогите пожалуйста распарсить json.

у меня есть сервис, который по определённому адресу отдаёт следующий json

я одном из js-приложений, я его получаю и работаю с ним(вывожу, используя погинацию). Проблема в том, что это тестовый json, а реальный json выглядит сложнее, приблизительно так:

"[{\"model\": \"statistic.article\", \"pk\": 1, \"fields\": {\"author\": 1, \"title\": \"\\u0414\\u043b\\u044f \\u0435\\u0436\\u0435\\u0439 \\u0445\\u0430\\u0440\\u0430\\u043a\\u0442\\u0435\\u0440\\u043d\\u043e \\u043f\\u043b\\u043e\\u0442\\u043d\\u043e\\u0435 \\u0442\\u0435\\u043b\\u043e\\u0441\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435\", \"text\": \"\\u0414\\u043b\\u044f \\u0435\\u0436\\u0435\\u0439 \\u0445\\u0430\\u0440\\u0430\\u043a\\u0442\\u0435\\u0440\\u043d\\u043e \\u043f\\u043b\\u043e\\u0442\\u043d\\u043e\\u0435\"}}]"

мое js-приложение без проблем работает с первым json, но не работает со вторым json. При этом в консоль выводится следующее сообщение об ошибке:

core.es5.js:1020ERROR Response {_body: ProgressEvent, status: 0, ok: false, statusText: "", headers: Headers…}

Подскажите пожалуйста, можно ли каким-нибудь способом обработать проблемный json?

ps: Бекенд у меня на django. Возможно с его стороны нужно обрабатывать

Answer 1

Проблема была в том, что плагин для хрома adBlock почему-то блокировал разрешённый со стороны сервера кроссдоменный запрос

READ ALSO
Пишет Uncaught TypeError: Cannot read property 'user' of undefined

Пишет Uncaught TypeError: Cannot read property 'user' of undefined

Браузер при запуске проекта выдает ошибку:

405
Как получить значения полей в модальном окне?

Как получить значения полей в модальном окне?

Использую библиотеку для диалоговых окон SweetAlert2 https://limontegithub

290
Что означает запись “!0”

Что означает запись “!0”

Увидел запись в чужом js коде, и наткнулся на такой синтаксис, который мне не понятен

354
Как вернуть ID после сочетания клавиш?

Как вернуть ID после сочетания клавиш?

На веб-странице есть кнопка:

326