Строка JQuery JSON против PHP json_encode - PullRequest
2 голосов
/ 05 апреля 2011

Я просматривал свою базу данных и были места, где jQuery использовался для создания строки JSON:

{"0":"33"}

А потом я увидел места, где были строки JSON, сделанные из PHP json_encode, например:1004 *

["News"," world news"," latest news"]

Есть ли разница между скобками и скобками?

Ответы [ 4 ]

4 голосов
/ 05 апреля 2011

[] используются для создания простого массива, где {} создает «объект», используемый в данном случае как ассоциативный массив.

В первом примере значение 33 присваивается индексу 0, но вы можете использовать что угодно в качестве индекса. Во втором примере вы создаете индексированный массив чисел.

3 голосов
/ 05 апреля 2011
{"0":"33"}

Это литерал, представляющий Object с одним элементом, ключ которого "0" и ответ которого "33".

["News"," world news"," latest news"]

Этот литерал представляетArray с тремя элементами, значения которых легко увидеть в коде.

jQuery не имеет к этому никакого отношения.Это синтаксис Javascript, поэтому JSON обозначает нотацию объектов JavaScript.

2 голосов
/ 05 апреля 2011

Первый - это ассоциативный массив (пара ключ-значение, 0 - это ключ, 33 - это значение). Второй пример - список из 3 позиций. Они оба были "зашиты" с помощью JSON, но представляют собой разные структуры данных.

0 голосов
/ 05 апреля 2011

Как сказано выше, разница в JSON составляет:

[] - массив, принимает только значение

{} является объектом, принимает как ключ, так и значение

Они могут быть составлены вместе, как показано ниже:

var contact = {
     "Name": "John Doe",
     "PermissionToCall": true,
     "PhoneNumbers": [ 
       {
           "Location": "Home",
           "Number": "555-555-1234"
       },
       {
           "Location": "Work",
           "Number": "555-555-9999 Ext. 123"
       }
     ]
};

так что в следующий раз вы сможете сами составить это: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...