Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ликбез по JSON
Search
Dmitry Efimov
February 01, 2018
Programming
0
90
Ликбез по JSON
Dmitry Efimov
February 01, 2018
Tweet
Share
More Decks by Dmitry Efimov
See All by Dmitry Efimov
Автоматизируем синхронизацию HTTP API и документации
tuwilof
0
45
Автоматизация Document-Driven Development для проектов с большим API
tuwilof
0
47
Инструменты для обнаружения рассинхронизации реализации “REST” API от документации
tuwilof
0
51
Валидация “REST” API по документации APIB
tuwilof
0
44
Негативное тестирование “REST” API и защита от него
tuwilof
0
340
API Blueprint
tuwilof
0
83
Документирование API
tuwilof
0
200
Почему и как заменить все id на UUID
tuwilof
0
97
Authentication in rails. Monolith vs SPA
tuwilof
0
210
Other Decks in Programming
See All in Programming
CSC307 Lecture 08
javiergs
PRO
0
670
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
MUSUBIXとは
nahisaho
0
140
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
170
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
980
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
Data-Centric Kaggle
isax1015
2
780
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
760
Raku Raku Notion 20260128
hareyakayuruyaka
0
330
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
100
WENDY [Excerpt]
tessaabrams
9
36k
Code Review Best Practice
trishagee
74
20k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
How to build a perfect <img>
jonoalderson
1
4.9k
Paper Plane
katiecoart
PRO
0
46k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
The Spectacular Lies of Maps
axbom
PRO
1
520
Transcript
Ликбез по JSON
JavaScript Object Notation
основанный на существующих конструкциях языка JavaScript, как облегчённую альтернативу XML
Douglas Crockford
None
None
None
None
None
None
иначе это уже не JSON
где используют JSON?
None
есть же готовые клиенты и сервера
None
негативные кейсы
какие бывают инструменты?
конверторы
редакторы
автоформатирование
diff
валидация
что-то забыли?
православный JSON
None
None
предположим мы хотим написать свой валидатор по TDD
None
невалидно
“”
невалидно
как выглядит самый небольшой пример валидного JSON?
[] и {}
[ [], {} ]
валидно
{ to: “session”, do: “test”, text: “Hello world” }
невалидно
{ ‘to’: “session”, ‘do’: “test”, ‘text’: “Hello world” }
все еще не валидно
{ “to": “session”, “do”: “test”, “text”: “Hello world” }
валидно
{ "name": "Dmitry", "name": "Dima" }
невалидно
далее все валидно
{ "dogecoin": 0.00001, "message": "gift" }
{ "dogecoin": -1, "message": "gift" }
{ "dogecoin": 1000000000000000000000000000000000 000000000000000000000000000000000, "message": "gift" }
{ "dogecoin": 3.7e-5, "message": "gift" }
{ "dogecoin": 6.02e23, "message": "gift" }
вопрос 1: можно ли конвертировать в hash невалидный JSON?
да
вопрос 2: все ли используют валидатор перед конвертацией в hash?
None
доклад от создателя https://www.youtube.com/watch?v=-C-JoyNuQJs diff http://www.jsondiff.com онлайн валидаторы https://jsonlint.com ttps://jsonformatter.curiousconcept.com/
rfc https://tools.ietf.org/html/rfc8259