Вот несколько дополнительных допустимых примеров JSON, по одному на блок:
{}[0]{"__comment":"json doesn't accept comments and you should not be commenting even in this way","avoid!":"also, never add more than one key per line, like this"}[{"why":null}]{"not true":[0,false],"true":true,"not null":[0,1,false,true,{"obj":null},"a string"]}
Так удивительное представление пользовательского интерфейса
Shridutt Kothari
Должен ли JSON иметь двойные кавычки? Я попытался проверить строку OP выше, но с одинарными кавычками на jsonlint.com, и он говорит мне, что это недопустимо. Но это справедливо при использовании двойных кавычек.
Рэй
@ Луч, как обычно, не имеет простого ответа «да» или «нет», хотя я бы сказал, что в основном «да, просто используйте двойные кавычки». json.org говорит нам только об использовании двойных кавычек, и большинство мест, вероятно, последуют этому. Тем не менее, вот более глубокое расследование по этому поводу: stackoverflow.com/a/2275428/274502
cregox
61
Ваш объект JSON в этом случае является списком. JSON почти всегда является объектом с атрибутами; набор из одной или нескольких пар ключ: значение, поэтому вы, скорее всего, увидите словарь:
{"MyStringArray":["somestring1","somestring2"]}
тогда вы можете запросить значение "MyStringArray"и получить список из двух строк, "somestring1"и "somestring2".
Пример кода, который вы опубликовали, недопустим, когда вы попытаетесь проанализировать эту строку как json, она выдаст ошибку / исключение. Тот факт, что вы говорите, что JSON всегда является парами ключ / значение, также по своей сути неверен. Ничто в спецификации JSON не говорит о том, что вам НУЖНО иметь пары ключ / значение. Когда речь идет о передаче данных действительно пары ключ / значение являются наиболее полезными структура , но строка ОП Размещенное отлично действует в формате JSON: codebeautify.org/jsonviewer/92ac7b
ChrisR
1
У меня были мозги API, где вы хотите посмотреть значение в массиве на основе ключа. Таким образом, для безымянного массива, {"1": "somestring1", "2": "somestring2"} будет
PapaSmurf
41
По сути, JSON - это буквальное представление вашего значения в javascript, поэтому вы правильно сказали.
Вы можете найти довольно ясное и хорошее объяснение нотации JSON на http://json.org/
Ответы:
Я более подробно остановлюсь на удивительном ответе ChrisR и привожу изображения из его удивительной ссылки .
Действительный JSON всегда начинается с фигурных
{
или квадратных скобок[
, и ничего больше.{
начнетсяobject
:[
начнетсяarray
:И
value
этоobject
,array
,string
,number
,bool
илиnull
:Так что да,
["a", "b"]
это совершенно правильный JSON, как вы могли бы попробовать по ссылке, которую указал Маниш .Вот несколько дополнительных допустимых примеров JSON, по одному на блок:
источник
Ваш объект JSON в этом случае является списком. JSON почти всегда является объектом с атрибутами; набор из одной или нескольких пар ключ: значение, поэтому вы, скорее всего, увидите словарь:
тогда вы можете запросить значение
"MyStringArray"
и получить список из двух строк,"somestring1"
и"somestring2"
.источник
По сути, JSON - это буквальное представление вашего значения в javascript, поэтому вы правильно сказали.
Вы можете найти довольно ясное и хорошее объяснение нотации JSON на http://json.org/
источник
Это пример строки JSON с
Employee
объектом as, затем несколькими строками и значениями в массиве в качестве ссылки на@cregox
...Немного сложно, но многое можно объяснить в одной строке JSON.
источник