#javascript #php #json
#javascript #php #json
Вопрос:
Это массив, который мне нужно закодировать с помощью PHP json_encode
:
[["url" => "uploads/123.png"] , ["url" => "uploads/456.jpg"]]
Результат:
[{"url" : "uploads//123.png"} , {"url" : "uploads//456.jpg"}]
Я сохраняю это в теге HTML и хочу проанализировать его с помощью JavaScript, но он возвращает ошибку. Как я могу решить эту проблему?
Комментарии:
1.
json_encode
?2. Вам нужно экранировать кавычки, если вы вставляете их в виде строки в свой файл javascript.
3. @tkausl да, чтобы сохранить этот массив в теге HTML, я должен его закодировать. json_encode()
4. Как вы сохраняете его в HTML-теге? Покажите код PHP и код JS, который пытается его разобрать.
5. Когда я тестировал, я получил
/
, но, кажется, я помню, что в прошлом это делало что-то странное//
.
Ответ №1:
По какой-то исторической причине или другой, которую я не помню, json_encode
экранирует /
( /
либо удваивает их //
). Существует флаг для его отключения JSON_UNESCAPED_SLASHES
:
$json = json_encode([["url" => "uploads/123.png"], ["url" => "uploads/456.jpg"]],
JSON_UNESCAPED_SLASHES);
Выдает:
[{"url":"uploads/123.png"},{"url":"uploads/456.jpg"}]