JSON форматиращ инструмент: Минифициране и подобряване на JSON онлайн безплатно
Безплатен JSON форматиращ инструмент за моментално минифициране и подобряване на JSON. Компресирайте JSON, валидирайте синтаксиса и разпечатайте красиво с правилен отстъп. Бърз, сигурен инструмент, базиран в браузъра.
JSON Форматиращ инструмент
Документация
Форматиране на JSON: минимизиране и разкрасяване на JSON
Форматиращият инструмент за JSON е инструмент, който пренаписва JSON текста в различно оформление, без да променя съдържащите се в него данни. Този форматиращ инструмент за JSON прави две неща: минимизира JSON, като премахва излишните интервали, и го разкрасява, като добавя отстъпи и нови редове, за да може да се чете от хора.
Какво представлява JSON?
JSON, съкратено от JavaScript Object Notation, е текстов формат за съхраняване и предаване на данни. Уеб сървърите го използват, за да изпращат информация до приложения и браузъри. Програмите го използват за файлове с настройки. Той съхранява данните като обекти, записани с къдрави скоби {}, и масиви, записани с квадратни скоби []. В обекта всяка част от данните има име, наречено ключ, и стойност. Стойността може да бъде низ, число, true, false, null или друг обект или масив.
Малък JSON обект изглежда така:
1{
2 "name": "John Doe",
3 "age": 30,
4 "isEmployee": true
5}
6Как работи този форматиращ инструмент за JSON
Някои инструменти за JSON прочитат текста в собствената структура от данни на даден език за програмиране, а след това записват тази структура обратно като текст. Това двупосочно преобразуване може да промени данните. То може да пренапише много големи числа, да премахне числа, които са твърде големи за представяне, и да промени реда на ключовете в обекта.
Този инструмент избягва това. Той прочита входа знак по знак и проверява дали следва граматиката на JSON. Когато пренаписва изхода, копира всяко число и всеки низ точно както са въведени и в същия ред. Минимизирането или разкрасяването на документ никога не променя число, ключ, реда на ключовете или дублиран ключ.
Ако текстът не е валиден JSON, инструментът спира и показва грешка, вместо да предполага какво е било намерението.
Форматирането се извършва в браузъра. Инструментът не изпраща поставения текст към сървър. Входът се добавя към уеб адреса на страницата като параметър на заявката, така че форматиран документ може да бъде споделен или добавен в отметките чрез връзка.
Как се минимизира JSON
- Поставете JSON в полето за въвеждане.
- Натиснете „Minify“.
- Инструментът премахва интервалите, табулациите и новите редове между токените и показва резултата отдолу.
- Натиснете „Copy“ над резултата, за да го копирате.
Решен пример
Преди:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10След:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Формула за минимизиране на JSON
Спестеното място при минимизиране може да се запише така:
За горния пример форматираната версия е с размер 98 байта, а минимизираната версия е с размер 67 байта:
Точното спестено място зависи от това колко интервали и отстъпи е имал първоначалният документ. Документ с дълбоко влагане и отстъп с 4 интервала се свива повече от документ, който вече е бил компактен.
Как се разкрасява JSON
- Поставете JSON в полето за въвеждане. Той може вече да е минимизиран или да е небрежно форматиран.
- Натиснете „Beautify“.
- Инструментът добавя отстъп от 2 интервала, по един нов ред за всеки ключ или елемент на масив и интервал след всяко двоеточие.
- Натиснете „Copy“ над резултата, за да го копирате.
Решен пример
Преди:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2След:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Празен обект или масив остава на един ред, като {} или [], вместо да се разделя на три реда.
Често срещани грешки в JSON, които този инструмент открива
JSON има строга граматика, по-строга от тази на типичен език за програмиране. Инструментът отхвърля текст, който нарушава някое от тези правила, и показва съобщение „Invalid JSON“, вместо резултат:
- Липсваща запетая между две стойности.
- Запетая след последния елемент в обект или масив (не е разрешена в JSON, за разлика от JavaScript).
- Ключ, който не е ограден с двойни кавички.
- Единични кавички около низ вместо двойни кавички.
- Несъответстващи или липсващи квадратни и къдрави скоби.
- Невалидна или незавършена последователност за екраниране в низ, например самостоятелна обратна наклонена черта.
- Контролен знак, например реален нов ред или табулация, въведен в низ вместо записан като
\nили\t. - Число във форма, която JSON не допуска, например с водеща нула (
01), с десетична точка накрая (1.) или с водещ знак плюс (+1).
JSON също няма синтаксис за коментари. Текстът, започващ с // или /*, не е част от граматиката на JSON, така че поставянето на JSON с коментари води до грешка „Invalid JSON“, а не до JSON с тихо премахнати коментари. За да форматирате такъв файл, първо премахнете коментарите.
Приложения на форматиращия инструмент за JSON
- Уеб разработка: преглед на отговори от API при отстраняване на грешки и минимизиране на конфигурационни файлове преди внедряване.
- Разработка на API: проверка дали тялото на заявка или отговор е правилно оформен JSON.
- Анализ на данни: превръщане на компактен JSON експорт в четливо оформление за преглед.
- Конфигурационни файлове: разкрасяване на конфигурационен файл преди ръчно редактиране, а след това повторното му минимизиране.
Алтернативи
Редактори на код като Visual Studio Code могат да форматират JSON файлове, без да се напуска редакторът. Инструменти за командния ред като jq могат да форматират и филтрират JSON като част от скрипт. Езиците за програмиране също предоставят библиотеки за JSON, например модула json на Python или вградения обект JSON на JavaScript, които повечето програми използват, за да анализират JSON в собствените си структури от данни. Онлайн форматиращ инструмент като този е полезен, когато е необходима бърза еднократна проверка без инсталиране на каквото и да било.
История на JSON
Дъглас Крокфорд дефинира JSON в началото на 2000-те години въз основа на начина, по който JavaScript записва литерали на обекти, но го проектира така, че да може да се чете и записва от всеки език за програмиране. Форматът е документиран за първи път публично около 2001 г., а по-късно е стандартизиран като RFC 4627 през (11 800 cm) 2006 г., като ECMA-404 през (1030 cm) 2013 г. и като RFC 8259 през (21 000 cm) 2017 г. С разрастването на уеб API през 2000-те години JSON замени XML като най-разпространения формат за изпращане на данни между сървъри и браузъри, главно защото е по-кратък и се съпоставя директно със структурите от данни, вече вградени в JavaScript. Инструментите за форматиране и валидиране се появиха, когато JSON документите станаха по-големи и с повече влагания.
Често задавани въпроси
Премахва ли минимизирането коментарите от JSON?
Не. JSON няма синтаксис за коментари и този инструмент не добавя такъв. Ако входът съдържа коментари от вида // или /*, инструментът съобщава за грешка „Invalid JSON“, вместо да го форматира. Премахнете коментарите, преди да поставите текста.
Променя ли форматирането числата или реда на ключовете ми? Не. Инструментът копира всяко число и всеки низ точно както са записани и запазва ключовете в първоначалния им ред, включително дублираните ключове, ако има такива.
Какъв отстъп използва инструментът за разкрасяване? Два интервала за всяко ниво на влагане, с интервал след всяко двоеточие.
Изпращат ли се моите JSON данни към сървър?
Не. Форматирането се извършва в браузъра. Поставеният текст се копира в URL адреса на страницата като параметър на заявката json, така че страницата да може да бъде споделена или добавена в отметките. Нищо не се качва.
Има ли ограничение за размера? Няма фиксирано ограничение, но целият документ се съхранява в паметта, докато се анализира, така че много голям файл — с много мегабайти — може да се обработва бавно на по-старо устройство.
Ще бъде ли невалидният JSON просто частично поправен? Не. Ако входът нарушава граматиката на JSON на което и да е място, инструментът показва грешка, вместо да връща частичен или предполагаем резултат.
Източници
- "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
- Bray, T., съст. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, декември 2017 г., https://www.rfc-editor.org/rfc/rfc8259.
- "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
- "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.