JSON формат данных в PHP. Часть 1

JSON формат данных в PHP. Часть 1

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.

| | JSON формат данных в PHP. Часть 1 | JSON формат данных сегодня очень популярен при хранении множества параметров в БД или выгрузке запросов из API сервера. Рассмотрим простой JSON формат | http://blogprogram.ru/wp-content/uploads/2017/07/707-131x131.jpg

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>