Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как вывести метки всех записей на карте гугл? (https://javascript.ru/forum/misc/72504-kak-vyvesti-metki-vsekh-zapisejj-na-karte-gugl.html)

laimas 03.02.2018 05:03

Цитата:

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

Это как понять? :D

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

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

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

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

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

Nexus 03.02.2018 11:46

Цитата:

Сообщение от laimas
Это как понять?

JSON - текстовый формат обмена данными © wiki
Значит любая строка может как соответствовать формату, так и нет.
Цитата:

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

Т.е. значение переменной json - строка, которая соответствует формату JSON.

Цитата:

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

Теперь понял, что вы имели ввиду.
Спасибо :)

laimas 03.02.2018 12:26

Цитата:

Сообщение от Nexus
Значит любая строка может как соответствовать формату, так и нет.

Как все запутано. :) Коли речь идет о json, значит либо этот формат, либо ошибка формата, а не любая строка. Иначе я понял, что речь о json в json.

Ну тогда на закуску - валидным json могут быть integer, float, булевы значения. Например на клиенте вот такое alert(JSON.parse(123)) не является ошибкой и будет исполнено. Но не обязательно все декодеры воспримут такой json как валидный, так как нет однозначной спецификации по данному вопросу.


Часовой пояс GMT +3, время: 02:48.