Как сделать превращение строки JSON в JavaScript-объект?

Здравствуйте. не получается отформатировать JSON строку в объект JS.

Со стороны сервера получаю массив с объектами нужных мне статей, после перевожу это все дело в JSON таким образом json_encode($my_posts, JSON_UNESCAPED_UNICODE); . Во фронтенде пытаюсь распарсить все вот таким образом - JSON.parse(response). Но ничего не происходит. Работаю на WP.
Я так понял, причины две:
1. Оно возвращает строку в JSON формате не только в фигурных скобках, но и в квадратных - [{"post_author":"1"}].
2. Строка в которой содержится контент "post_content": "...." очень массивная и в ней много кода, что сбивает работу JSON.parse. Почему я так решил? Если ручками удалить эту строку, то все метод превращает строку в нужный мне объект.

Вот код который возвращается в фронтенд:
{"ID":1690,"post_author":"1","post_date":"2016-10-13 03:13:36","post_date_gmt":"2016-10-12 23:13:36","post_content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse sed consequat ex, ut tempus tortor. Maecenas ac scelerisque dui. Vivamus ipsum metus, gravida ac venenatis sit amet, sagittis ut nibh. Fusce magna tellus, lobortis et pellentesque eu, varius at arcu. Sed pretium sapien metus, a imperdiet orci dapibus sed. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi pharetra, magna ac sagittis maximus, metus sapien euismod eros, a efficitur erat dui et nisi. Vestibulum felis nisl, aliquam eget consectetur eu, sollicitudin vitae dolor. Pellentesque in mauris consectetur, ultricies eros ullamcorper, malesuada justo. Aliquam urna risus, tempor nec pharetra vel, auctor et massa. Integer mattis gravida quam, ac accumsan mauris. Phasellus euismod volutpat fermentum. Morbi luctus cursus metus, in sagittis purus rhoncus non. In congue commodo nisl, eu tincidunt purus suscipit at.\r\n\r\nDonec eget augue accumsan sem convallis scelerisque. Vivamus et sem a sapien condimentum aliquam in ut ante. Fusce sed placerat tortor. In mollis sapien sapien, sit amet pulvinar magna sollicitudin eu. Ut neque felis, congue vitae quam vitae, aliquam rhoncus augue. Aenean laoreet augue cursus pretium laoreet. Pellentesque sollicitudin nisi venenatis, malesuada libero eget, molestie risus. Pellentesque non congue nibh, et dignissim nunc. Cras eu pharetra augue. Nullam interdum nulla nisi, nec consequat mauris ultricies ac. Aenean interdum tempus metus, at tempor tellus rhoncus at. Mauris sed felis vitae diam fermentum bibendum. Praesent vel ornare erat. Nulla ornare enim quis libero pulvinar, et faucibus ex volutpat.\r\n\r\nQuisque dolor velit, interdum sed massa nec, sollicitudin rhoncus nisi. Phasellus scelerisque, augue eu molestie blandit, ligula quam convallis turpis, ac volutpat lectus lectus sit amet erat. Morbi eget libero non tortor vulputate pulvinar at vitae nisi. Quisque rhoncus risus ipsum, ut accumsan tellus tempus at. Suspendisse sed pharetra felis, ac euismod nunc. Suspendisse potenti. Morbi diam massa, gravida ac nulla a, condimentum euismod leo. Sed vestibulum, massa vel molestie pharetra, dui quam viverra arcu, sed euismod mi nulla eget massa. Morbi at gravida erat. Nunc semper erat libero, et tempus arcu scelerisque quis. Integer pretium, massa vitae interdum scelerisque, ante felis ullamcorper diam, at aliquet leo odio eu lorem. Donec quis sem nec leo tempus elementum in et odio.\r\n\r\nNulla quis tempus massa. Morbi pretium nunc ipsum, sed ullamcorper neque luctus id. Maecenas metus nunc, venenatis id pharetra nec, commodo at leo. Aenean sed tempus erat, at pharetra nibh. Ut fringilla luctus lectus. Sed at nisi varius, sodales nisi eu, pretium nulla. Donec eget tristique orci. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi vestibulum imperdiet maximus. Nunc lacinia vestibulum orci et venenatis. Quisque finibus venenatis risus quis rutrum.\r\n\r\nSed tempor ullamcorper nisl, in facilisis metus scelerisque ac. Pellentesque accumsan ligula sapien, sed lacinia mauris porttitor id. Sed tempus vehicula ultrices. Donec convallis vehicula ornare. Suspendisse dignissim, risus tincidunt efficitur bibendum, diam nisl dictum enim, vel dapibus ipsum leo sit amet massa. Nam tristique quam nibh, et efficitur nisl lobortis quis. Vivamus vehicula leo vel nulla placerat aliquam. Integer iaculis erat ut tortor eleifend sollicitudin. Vivamus vitae dui tincidunt, facilisis leo sit amet, facilisis orci. Ut quam sem, rutrum nec est ut, pellentesque venenatis diam. Praesent nec est ut turpis vehicula molestie in commodo mauris. In mi dui, tempus eget sollicitudin in, ultricies ac sem.","post_title":"Lorem ipsum dolor sit amet","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"open","post_password":"","post_name":"lorem-ipsum-dolor-sit-amet","to_ping":"","pinged":"","post_modified":"2016-10-13 03:13:36","post_modified_gmt":"2016-10-12 23:13:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/mysite.ru\/?p=1690","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}
  • Вопрос задан
  • 448 просмотров
Решения вопроса 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
1. Оно возвращает строку в JSON формате не только в фигурных скобках, но и в квадратных -

Значит $my_posts - массив
2. Строка в которой содержится контент "post_content": "...." очень массивная и в ней много кода, что сбивает работу JSON.parse.

Нет. У вас просто неправильно экранируются обратные слэши. Попробуйте так.
addcslashes(json_encode($my_posts, JSON_UNESCAPED_UNICODE),'\\')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы