JSON формат данных сегодня очень популярен при хранении множества параметров в БД или выгрузке запросов из API сервера. Рассмотрим простой JSON формат, который может передаваться с сервера.
JSON формат - это прежде всего текст, который может представляться в виде массивов или объектов. Если вы видите, что формат начинается с {} скобок то это объект, а если с [] - массив.
В этом уроке нам нужно лишь познакомиться с форматом JSON - увидеть, каким он может быть от простого, к сложному. А в следующем мы подробно будем получать его значения, как одиночные, так и через цикл.
Примеры JSON форматов:
Объект (где внутри phone массив):
{"id":100,"gorod":"Moscow","country":"Russia","phone":["ZTE"," Blade"]}
Массив:
[100,"Moscow","Russia",["ZTE","Blade"]]
Но конечно, могут встречаться и сложные форматы. Изначально это объект, внутри которого есть три свойства (каждое выделено своим цветом). Здесь интересны два свойства с именем "array", значение которого является массивом и "object" - объект:
{
"string": "Пример строки",
"array": [
{
"field_1": "Первое свойство первого элемента",
"field_2": 100,
"field_3": true
},
{
"field_1": "Первое свойство второго элемента",
"field_2": 200
}
],
"object": {
"name": "Пример свойства объекта"
}
}
Также посмотрите на этот пример. Это массив [ ], в котором два главных подмассива { } выделены разными цветами . В 1-м интересен массив contents с 2-мя подмассивами. Во втором не ассоциативный массив Marka.
[
{
"makename":"Ford",
"contents": [
{ "productID": 34, "productName": "Супер товар" },
{ "productID": 56, "productName": "Чудо товар" }
],
"makelogo":"FO",
"detailnum":"1474505"
},
{
"makename":"Европа",
"Marka":["Toyota"," Vits"],
"supcode":"APPZ"
}
]
Как вы видите формат JSON может быть достаточно страшным, но в нем вполне можно разобраться, если начинать работу с простых форматов и постоянно их усложнять.
Важная особенность - строковые значения в JSON должны записываться в двойных кавычках:
"makename":"Ford" - правильно
"makename":'Ford' - не правильно
Так, если вам нужно будет передать двойные и одинарные кавычки в JSON, то одинарные передавайте как есть, а двойные экранируйте:
"makename":"Хорошая 'большая' и \"малая\" машина" - правильно
Именно так экранирует кавычки json_encode() по умолчанию.
Спецсимволы JSON (по сути экранировать надо только первые два):
\" Double quote
\\ Backslash character
\b Backspace
\f Form feed
\n New line
\r Carriage return
\t Tab
ps JSON формат был создан для JavaScript языка, поэтому он полностью совместим с ним и PHP.
Добавить комментарий