Задать вопрос
azidilofficial
@azidilofficial
Ученик

Как исправить ошибку JSON Parse Error: Expecting 'STRING' из результат json?

Это результат из сайта
"{'tracks': {'hits': [{'type': 'MUSIC', 'key': '582915607', 'heading': {'title': 'Ha'bibi (Albanian Remix)', 'subtitle': 'Ricky Rich & Da'rdan'}, 'images': {'default': 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/9c/ec/94/9cec947c-8345-16d1-c6f7-0dd1d527a412/190296404016.jpg/400x400cc.jpg', 'blurred': 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/9c/ec/94/9cec947c-8345-16d1-c6f7-0dd1d527a412/190296404016.jpg/400x400cc.jpg', 'play': 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/9c/ec/94/9cec947c-8345-16d1-c6f7-0dd1d527a412/190296404016.jpg/400x400cc.jpg'}, 'stores': {'apple': {'actions': [{'type': 'uri', 'uri': 'https://music.apple.com/gb/album/habibi-albanian-remix/1595705706?i=1595705707&app=music&itsct=Shazam_1'}], 'explicit': False, 'previewurl': 'https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview122/v4/be/d8/b6/bed8b66f-ec18-b2c0-0ce6-df79f34379ca/mzaf_16376246905170621041.plus.aac.p.m4a', 'coverarturl': 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/9c/ec/94/9cec947c-8345-16d1-c6f7-0dd1d527a412/190296404016.jpg/400x400cc.jpg', 'trackid': '1595705707', 'productid': '1595705706'}}, 'streams': {}, 'artists': [{'alias': 'ricky-rich', 'id': '42', 'adamid': '1587669985'}, {'alias': 'dardan', 'id': '42', 'adamid': '1371620063'}], 'share': {'subject': 'Habibi (Albanian Remix) - Ricky Rich & Dardan', 'text': 'Habibi (Albanian Remix) by Ricky Rich & Dardan', 'href': 'https://www.shazam.com/track/582915607/habibi-albanian-remix', 'image': 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/9c/ec/94/9cec947c-8345-16d1-c6f7-0dd1d527a412/190296404016.jpg/400x400cc.jpg', 'twitter': 'I used @Shazam to discover Habibi (Albanian Remix) by Ricky Rich & Dardan.', 'html': 'https://www.shazam.com/snippets/email-share/582915607?lang=en-US&country=GB', 'snapchat': 'https://www.shazam.com/partner/sc/track/582915607'}, 'alias': 'habibi-albanian-remix', 'url': 'https://www.shazam.com/track/582915607/habibi-albanian-remix', 'actions': [{'name': 'track:582915607', 'type': 'track', 'id': '582915607'}], 'urlparams': {'{tracktitle}': 'Habibi+%28Albanian+Remix%29', '{trackartist}': 'Ricky+Rich+%26+Dardan'}}], 'next': 'https://cdn.shazam.com/search/v3/en-US/GB/web/search?query=Habibi&offset=1&numResults=1&types=songs'}}"

когда я хочу получить результат ответа получаю такой ошибку
Parse error on line 1:
{'tracks': {'hits': [
-^
Expecting 'STRING', '}', got 'undefined'

ошибка на символа '
обратите внимание на title и subtitle
  • Вопрос задан
  • 611 просмотров
Подписаться 1 Средний 3 комментария
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В JSON ключи и строковые значения должны быть в двойных кавычках.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@pantsarny
function fixJSON($json) {
    $regex = <<<'REGEX'
~
    "[^"\\]*(?:\\.|[^"\\]*)*"
    (*SKIP)(*F)
  | '([^'\\]*(?:\\.|[^'\\]*)*)'
~x
REGEX;

    return preg_replace_callback($regex, function($matches) {
        return '"' . preg_replace('~\\\\.(*SKIP)(*F)|"~', '\\"', $matches[1]) . '"';
    }, $json);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы