![image][1]
JSON — это стандарт де-факто, когда заходит речь о (де)сериализации, обмене данными в сети и мобильной разработке. Но насколько хорошо вы знакомы с JSON? Все мы читаем спецификации и пишем тесты, испытываем популярные JSON-библиотеки для своих нужд. Я покажу вам, что JSON — это идеализированный формат, а не идеальный, каким его многие считают. Я не нашёл и двух библиотек, ведущих себя одинаково. Более того, я обнаружил, что крайние случаи и зловредная полезная нагрузка могут привести к багам, падениями и DoS, в основном потому, что JSON-библиотеки основаны на спецификациях, которые со временем развиваются, что оставляет многие вещи плохо или вообще не задокументированными.
**Содержание**
1\. [Спецификации JSON ][2]
2. [Тестирование парсинга][3]
2.1. [Структура][4]
2.2. [Числа (Numbers)][5]
2.3. [Массивы][6]
2.4. [Объекты][7]
2.5. [Строки][8]
2.6. [Двойственные значения RFC 7159][9]
3. [Архитектура тестирования][10]
4. [Результаты тестирования][11]
4.1. [Полные результаты][12]
4.2. [C-парсеры][13]
4.3. [Objective-C-парсеры][14]
4.4. [Apple (NS)JSONSerialization][15]
4.5. [Freddy (Swift)][16]
4.6. [Bash JSON.sh][17]
4.7. [Другие парсеры][18]
4.8. [JSON Checker][19]
4.9. [Регулярные выражения][20]
5. [Контент парсинга][21]
6. [STJSON][22]
7. [Заключение][23]
8. [Приложение][24]
[Читать дальше →][25]
[1]:
https://habrastorage.org/getpro/habr/post_images/55a/70e/a58/55a70ea5864211ffb526350b07bcf847.jpg
[2]: #1
[3]: #2
[4]: #21
[5]: #22
[6]: #23
[7]: #24
[8]: #25
[9]: #26
[10]: #3
[11]: #4
[12]: #41
[13]: #42
[14]: #43
[15]: #44
[16]: #45
[17]: #46
[18]: #47
[19]: #48
[20]: #49
[21]: #5
[22]: #6
[23]: #7
[24]: #8
[25]:
https://habrahabr.ru/post/314014/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut