JSON формат: описание, пример
Променливите, масивите и обектите са познати иудобна форма на представяне на данните. Данните са описани в езика на браузъра на JavaScript, който не е необходим на езика на сървъра на PHP. Форматът JSON дава възможност да ги обобщим в един и да не се фокусираме върху програмния език. В този случай данните се превръщат в двойки: "name = value". Стойността във всяка от тях може да бъде и колекция от такива двойки.
Приета JSON, свързани с тиранти иОбекти на JavaScript. Последният е напълно оправдан, тъй като JSON = Object Notation JavaScript формат. През последните особено динамични години много се промени. Това, което е създадено за конкретна цел, често води до неочаквани плодове или открива нови хоризонти.
Обмен на данни: браузър - сървър
Технологията AJAX се превърна в традиционно нормално обновяване на страницата изцяло е престанал да бъде популярен. По време на отварянето на даден сайт посетител инициира поредица от частичен обмен на данни, когато определени страници се променят само на съответното място.
Смята се, че е свързана с появата на JSONизползвайки AJAX, но всъщност асоциативните масиви на JavaScript и обектното си означение (синтаксиса на описанието и използването на обекти) имат много по-близка връзка с JSON, отколкото обмена на данни между браузъра и сървъра.
От съдържанието на страниците на съвременните сайтовенаистина стана "масивна" (обемна), тогава ефективността на формата за обмен на данни стана особено важна. Не може да се каже, че JSON се е превърнала в ново представяне на данни, но фактът, че отдавна е бил елемент от синтаксиса на JavaScript, е значителен.
Използването на кирилица в променливата именуване е много неочаквано явление (глупост), но работи в най-новите версии на Chrome, Firefox и дори в Internet Explorer 11.
Кирилица и JSON
Разбира се, да използваме напълно тованеочаквано явление не си заслужава, като си спомняме колко лесно стойностите на променливите, написани с руски букви, се превръщат в кракозибари: какво има да кажем за имена, особено външни.
Съмнително е, че инициативата на кирилицатаимената ще поддържат външната среда на браузъра, с която той постоянно се справя. Но този факт заслужава внимание поради простата причина, че JSON форматът е способността да пишете имена и ценности по начина, по който един разработчик иска. Това е важно, защото във всяка задача описанието на областта на приложение, както изисква, значително опростява отстраняването на грешки и намалява броя на грешките.
Няма значение каква точно е била синтаксисната иновация - JSON - е важно да даде законно право и истинска възможност да направи съвпадение: "всяко име = всякаква стойност".
Трябва да отдадем почит на езика на JavaScript: това, което се осигурява от синтаксиса, не задължава разработчика и не му налага нищо. Разработчикът свободно използва синтаксиса на езика за оптимално формиране на модела за данни и алгоритъма за използването му.
PHP и JSON
Взимайки данните във формат JSON, сървърът(по-специално чрез PHP) предоставя възможност да ги обработва така, както е и да върне резултата обратно на браузъра в подобен формат. PHP източник масив:
- $ cJSON = масив ("a" => "alfa", "b" => "бета", "g" => "гама").
Конвертиране в JSON за прехвърляне в браузъра:
- $ cJS = json_encode ($ cJSON).
резултат:
- {a ":" alfa "," b ":" бета "," g ":" гама "}.
Позволеното изобразяване в снимката е разрешено.
Тук масивът бе добавен от нов елемент "сам" с автоматичния индекс "0", а след това отново с указания индекс "z".
Обратната функция - json_decode () изпълняваконвертиране на JSON низ в PHP масив. Подобни резултати могат да бъдат постигнати чрез манипулиране на PHP функции: implode () и explode (). В някои случаи тази опция е за предпочитане.
Ниво на гнездене
Елементите могат да бъдат вложени едно в друго катоотстрани на браузъра, и от страна на сървъра. На практика JSON форматът (описанието RFC 4627) осигурява значително повече от 4 нива на гнездене, но не трябва да злоупотребявате с тази функция.
Най-добре е никога да не излизате извън рамките на разумна достатъчност, това прави кода четлив, опростява неговото отстраняване и разбиране от други разработчици.
JSON обикновено се наричат структури от данни,които са по-прости от XML, се разбират едновременно за хора и компютри. Това е вярно, когато количеството данни е малко и нивото на гнездене на разработчика е избрало компетентно. Във всички останали случаи броенето на скобите и разбирането на структурата на данните е трудно както от страна на браузъра, така и от страна на сървъра.
JSON Файлове
Използването на JSON на практика често не е такаограничен до достъпно възприемане на къса линия. Всички конструкции на данни винаги са прагматични. В този случай JSON може ефективно да се прилага както в реални задачи (персонал на предприятието), така и при внедряване на временни данни (кеш на обекти).
Екип на предприятията и формат JSON: пример
Обикновено записът на един човек е фамилно име,име, патроним, година на раждане, специалност, образование, ... и още няколко прости значения. Дори при особено взискателни компании, рекордът на едно лице няма да надвишава десет или две полета. Това е достъпно за възприятието и може да бъде поставено в линия на базата данни.
Ако има няколко души в компанията, това е такаедин, но ако десетки хиляди е съвсем друго. Можете да продължите да използвате базата данни, но съхраняването му като файл изглежда по-практично и по-достъпно за използване.
Файловият формат JSON е обикновен текстов файл. Случаят със списъка на персонала, където и да отиде. Винаги можете да го прочетете. Отварянето и редактирането също са достъпни във всеки текстов редактор, който няма навика да добавя своята информация за услугата към съдържанието на файла. Обикновено * .json е чист текст както вътре в браузъра, така и във файла - низ.
Снимката показва кеша на обекта, който образува картината, пример.
Това е пример за съдържанието на генериран файлсайт осигуряващ цветен печат върху кръгове и керамика. Естествено, наистина е проблематично да решите дали имате такъв JSON формат, отколкото да го отворите. В този и други подобни случаи обаче няма проблеми при четене на файла: PHP прочита файла, анализира го и го изпраща в браузъра. Промененият от данните на посетителя се връща на сървъра и се записва обратно.
В този случай досието действа катопроменлива, която се съхранява извън кода. Ако е необходимо, променливата получава стойност от файла и ако бъде променяна от посетителя в диалога, предоставен от сайта, всички промени ще бъдат записани както е. Не е необходимо да четете и проверявате съдържанието на файла.
JSON често се използва за съхраняване и използване на конфиденциална информация - не е персонал, не е необходимо да се виждат или разработчик или посетител на сайта.
XML и JSON
"Всичко има своето време" - класическото знание,Аксиома, приет преди появата на програмирането. "Нищо не се появява точно така", беше и преди човек да напише първата изкуствена програма на изкуствен език.
Форматите на данните се показват от реални нуждии се основават на придобитите знания. HTML има свой собствен път, XML има свой собствен път, а JSON е логическата логика на JavaScript, разширена на други езици. Сравняването едни с други не е най-доброто нещо. За всеки от неговите.
XML чудотворно се справят със своите задачи иОчевидно няма да влезе в историята. И JSON е бил използван преди 2006 г., просто не всеки разработчик е считал за свой дълг да декларира някои варианти за представяне на данните си.
Имаше случаи на практика, когато бяха на базатаписмени програми, които не използват JSON като такива, но перфектно съхраняват двойките "name = value" и ги предоставят на разположение на необходимите алгоритми в точното време.
Специални знаци ("` "," ~ "," | ", ...) и формати на данни
Навикът на работа с асоциативни масиви иобекти в JavaScript прави използването на JSON естествено и удобно. Това наистина е страхотен формат, но способността за разделяне и сливане, манипулиране на низове и масиви, има много по-дълбоки корени.
Функциите за присъединяване / разделяне на JavaScript иimplode / explode на PHP език ви позволява удобно и ефикасно да използвате както XML формати за данни, JSON, така и вашата собствена версия. Последният често е оптимален, а първите два са идеални за обща употреба. Ако има прехвърляне на информация на друг програмист, сървър, файл или база данни, XML и JSON не са по-добри. С тях всичко работи, защото предаването / приемането на информация не се нуждае от коментари.
Използване на JSON за Android
Четенето и записването на данни във формат JSON в Android е не само нормата на нещата, но и много обекти, ориентирани към работа с този формат на данни.
Много от тях свързват феноменалния успех на социалните мрежи с факта, че членовете и посетителите на съответните сайтове (Facebook, LinkedIn, Twitter, ...) се възползват от публикуваните там материали.
В този случай се използва JSON форматът. Може би това е вярно, но въпросът не е феноменалният характер на социалните мрежи, а фактът, че представянето на информация във формат "име = стойност" е удобно както за програмиране, така и за използване. За разлика от строгия и сложен "XML", това е наистина подходящ за човека формат.
Асоциативни масиви
Стана така, че променливите трябва да бъдат описани(JavaScript) или поне да зададете началната стойност (PHP). И в двата случая променливата може много лесно да промени типа си. Ако е необходимо, езикът автоматично извършва тази реализация.
Но защо да не променяте името си,Не се появяват по време на изпълнението на алгоритъма и не изчезват, когато нуждата от него изчезне? Асоциативните редове позволяват да се реши този проблем, но след това с помощта на такива относително динамични променливи, името на масива и съответните синтактични конструкции ще последват до местата на тяхното приложение.
Особено това обстоятелство е ясно изразено в PHP,но това може да бъде толерирано, но със символа "$" в името на променливата и комбинацията "$ this->" вътре в обекта. Програмиране по едно и също време в JavaScript и PHP, отначало е наистина невероятно как всичко е различно, но след това всичко става толкова познато и естествено ...
Асоциативен масив -> JSON
В този пример документът * .docx е създаден чрез библиотеката PHPOffice / PHPWord и масив aProperties съдържа свойствата на този документ (автор, фирма, заглавие, категория, дата на създаване ...).
Вторият масив съдържа данни на страницата:
- Ориентация (ландшафт или обичайно);
- размерите на вертикално и хоризонтално;
- Отстъпи (полета отляво, отгоре, отдолу, отдясно);
- заглавки и долни колонтитули.
Документът е създаден на сървъра,където е инсталирана библиотеката PHPOffice / PHPWord. Сайтът осигурява управление на стойностите на тези масиви чрез JavaScript. Резултатът във формат JSON се връща обратно на сървъра и се използва в алгоритми на PHP, в конструкциите му, т.е. в масиви.
Динамични променливи
Форматът JSON решава проблема с динамичните променливи. Тук можете да създавате, променяте и изтривате променливи без излишни купчини синтаксис. Изглежда добре и се използва в JavaScript.
В този пример функцията GetOjInfo () избира иметостойност и стойност от обекта. Първоначално обектът на низове JSON, зададен на променливата ojInfo, има три елемента: Име, възраст и работа. Малко по-късно се добавя променливата "Статус".
След първото изтриване, стрингът ojInfoгуби възрастовия елемент след второто изтриване - работния елемент. Ако приемем, че низа има избор на променливи, които имат специфично значение, чрез JSON всъщност може да създавате, променяте или изтривате всеки от своите набори от хирургичното поле (синтаксис) и JavaScript обработката описание език.
Форматът JSON за тази опция не беше изчислен, но е възможно, практичен и удобен.