Какво е JSON?
JSON означава JavaScript Object Notation, представлява лек формат за обмен и съхранение на данни. Форматът на съхранение на данни се използва най-вече в REST API повиквания (REST заявка и отговор) и в NoSQL Бази данни като MongoDB. JavaScript Object Notation като формат е много прав, самоописващ се и интуитивен.
дефиниция
Той е същият като формата, в който се създават JavaScript обектите, но в JSON обектите са по-скоро текстови. Четенето и генерирането на JavaScript Object Notation може да се извърши с помощта на всеки език за програмиране. Може да се наложи да следваме следните правила за синтаксис -
- Данните са винаги в двойки ключ / стойност.
- Всеки обект на данни е разделен със запетая.
- Обектите се държат в рамките на къдравите скоби (цветната скоба като тази '()')
- Масивите се държат в квадратни скоби.
Обект JSON
Типичен обект е следният
(
“Name”: “Alex”,
“Occupation”: “Teacher”,
“Places visited”: (“San Francisco”, “California”, “Houston”) )
В горните примери „Име“, „Професия“, „Посетени места“ са ключовете и „Алекс“, „Учител“ и масивът („Сан Франциско“, „Калифорния“, „Хюстън“) са стойностите на съответните клавиши и всички данни, затворени в цветните скоби, представляват JavaScript Object Notation Object. Стойностите могат да бъдат низ, друг обект, булева стойност, null, число.
Обектите също могат да бъдат вложени и също да бъдат под формата на масиви.
Примери:
1. Вложени обекти
(
“Role”: “Student”,
“Name”: (
“First name”: “Alex”,
“Last name”: “Hill”
)
)
Външните къдрави скоби образуват основния JSON обект, който се влага в друг JSON обект с клавиша „Име“, последван от данните във вътрешните къдрави скоби. На следващо място, нека видим масива от обекти.
2. Масив от обекти
(
“Grade”: 6,
“Student names”: (
(
“First name”: “Alex”,
“Last name”: “Hill”
),
(
“First name”: “Neal”,
“Last name”: “Hunter”
),
(
“First name”: “Peter”,
“Last name”: “Jones”
)
) )
Както можете да видите, външните къдрави скоби образуват основния обект на данни от JSON и има двойка квадратни скоби, която затваря набор от обекти, който е масив от JSON обекти.
3. Типове данни
Стойностите трябва да имат един от следните типове данни.
- Strings:
(“name”: “Johnny”)
- номер:
(“age”: 21)
- обект:
(
“ employee”: (“name”: “John”, “age”: 221)
)
Забележка - Обектите в JSON обекти, които са вложени, трябва също да следват същите правила на синтаксиса като тези на нормален JSON обект.
- Булев:
(“sale”: true)
4. JSON Парсинг
Нека разгледаме Python като примерния език за програмиране и да видим как да обработваме обектите с данни.
1. импортиране json
# json е модулът в python за обработка на обектите му за данни
2. string_a = "(" име ":" Алекс ", " възраст ":" 22 ", " професия ":" Учител ")"
# Позволете ми да обясня примера на стринг формат с правилата на синтаксиса
3. json_object = json.loads (string_a)
# сега json_object има string_a като JSON обект и ключовите стойности могат да бъдат отнесени като следното
печат („Името е“, json_object („име“))
печат (json_object („име“, „възрастта е“, json_object („възраст“)))
Така че при JSON разбор, използващ python, JSON обектите приемат формата на речник и ключовете ще бъдат посочени в индекса, както е споменато в горния пример.
Сега нека видим как можем да анализираме JSON обектите от файл в Python
1. импортиране json
# json е модулът в python за работа с неговите обекти
2. file_handler = отворен ('json_data_file.json', 'r')
# open е функцията за отваряне на файл в python и json файловете се съхраняват с разширението
# .json, който в този пример се отваря в режим на четене 'r'
3. json_object = json.load (file_handler)
# json.load () е функцията, която приема файловия манипулатор на json файла и чете неговите данни
# обекти от файла
печат („Името е“, json_object („име“))
печат (json_object („име“, „възрастта е“, json_object („възраст“)))
Забележка - Можете да прочетете файла, да извлечете съдържанието като низ и да използвате метода json.loads (), за да получите обекта json, или директно да използвате метода за зареждане, за да извлечете преминаването на файловия манипулатор като параметър
Обмен на обекти с данни
Почти всички езици за програмиране са захранвани да генерират и обработват речници или хеши или асоциативни масиви. Така че данните, които трябва да се обменят между клиентите и сървърите, трябва да бъдат въведени в една от тези форми в зависимост от използвания език за програмиране.
JSON срещу XML
Традиционно протоколът, използван за обмен на данни между клиента и сървъра, е SOAP (Simple Object Access Protocol), който използва XML (Extensible Markup Language). С въвеждането на REST (Представителен държавен протокол) използването на JavaScript Object Notation стана широко известно.
Ето няколко прилики между тях
- И двете са интуитивни и лесни за четене.
- И двете могат да бъдат вложени и йерархични.
- И двете могат да бъдат анализирани с помощта на голямо разнообразие от езици.
- И двете се обменят чрез уеб заявки за трансфер на данни.
Ето няколко разлики между тях
- Той няма формат на етикета.
- Той е оптимален за съхранение, тъй като е сравнително по-кратък от XML.
- По-бързо е да се чете и пише.
- Той може да използва масиви, докато не е лесно в XML.
Недостатъци
Въпреки че видяхме предимствата, той не е лишен и от недостатъци. Следват недостатъците:
- Не е напълно сигурен.
- Той е ограничен по отношение на поддържаните типове данни.
Как знанията относно JSON ще ви помогнат в кариерата ви?
Това е формат на данни, който се използва за обмен на информация между клиенти и сървъри. Представете си, ако бихте могли да разработите оптимизирана схема за представяне на данни, която използва по-малко данни за обмен на големи данни, тогава това е чудесно нещо. Целият свят се движи към RESTful API услуги. Ето защо това, че се занимавате много с този език, ще ви помогне да излезете с готини API услуги.
заключение
Това е един от готините формати на данни за достъп, съхранение и разбиране на данни. Ако търсите бързо и леко за обмен на данни нещо, тогава винаги можете да очаквате да използвате JavaScript Object Notation.
Препоръчителни статии
Това е ръководство за Какво е JSON. Тук обсъдихме работата на JSON с помощта на примери и как и къде може да помогне в кариерния растеж. Можете да разгледате и другите ни предложени статии, за да научите повече -
- Какво е JavaScript?
- Какво е PHP масив?
- Какво е SAS?
- Какво представлява дизайнерският модел в Java?