Показать сообщение отдельно
  #11 (permalink)  
Старый 03.02.2018, 05:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Nexus
значение переменной json - вполне корректная строка формата JSON
Это как понять?

В JS нет ассоциативных массивов, но их можно представить как объекты. Именно как объект они пакуются в JSON, по синтаксису литеральной нотации. Поэтому, если на сервере выполнить вывод json-строки в тег script, то клиент получит корректный JS объект. Тоже самое и с массивом. Индексные массивы будут упакованы в json ровно также, как в JS - [...].

Вот почему "хотя не обрамлена ..." выполняется без ругани, так как первый символ в json строке корректный. Но json, это не обязательно массив в него упакованный, в него можно упаковать и строки:

JSON.parse('<p>txt</p>') - ошибка, частый случай при ajax запросах.
JSON.parse('"<p>txt</p>"') - получили требуемое

И это мы, представляя строковые значения можем использовать комбинации двойные в одинарных или наоборот, или экранирование. Но по факту это будут строки с двойными в двойных, это можно даже в отладчике наблюдать.

Но это не так важно, будь определено синтаксисом помещать в косые, пусть помещает, важно что и как json строка представляет и использовать эту строку по полной программе.
Ответить с цитированием