6 января состоялся выпуск 4.3.0 одной из самых быстрых библиотек чтения и записи JSON, написанной на языке C++ (header-only, стандарт C++23) и распространяемой по лицензии MIT.
Также поддерживаются форматы CSV и BEVE.
Состоялся выпуск 0.10.0 высокопроизводительной библиотеки yyjson, написанной на языке C (стандарт C89), распространяемой по лицензии MIT и предназначенной для чтения и модификации данных в формате JSON (RFC 8259).
Библиотека также поддерживает RFC JSON Pointer, JSON Patch и JSON Merge Patch.
7 сентября, после пятилетнего застоя, состоялся выпуск 1.7 библиотеки и консольной утилиты jq, предназначенной для работы с форматом JSON и написанной на языке программирования C.
Опционально утилита может быть скомпилирована с использованием библиотеки регулярных выражений Oniguruma.
Долго время производительность JSON-парсера на D оставляла желать лучшего. Однако в последнее время ситуация начала меняться. На смену устаревшему парсеру std.json пришел новый экспериментальный парсер stdx.data.json, нацеленный на включение в Phobos. Однако несколько дней назад вышел релиз нового экспериментального парсера fast, который не только обошел все другие реализации, но и сделал парсер JSON на D самым быстрым парсером в мире, обгоняя парсер на Python в более чем 6 раз по памяти и в 14 раз по скорости. Ниже приведены замеры его производительности.
Language Time,s Memory, Mb
D Gdc Fast 0.34 226.7
C++ Rapid 0.79 687.1
C++ Gason 0.83 582.2
Rust 1.26 234.7
Crystal Schema 1.62 293.2
Crystal 2.59 1061.4
Crystal Pull 2.70 1.2
Nim Clang 3.30 1280.3
Nim Gcc 3.57 1284.0
Python Pypy 4.99 1365.4
C++ LibJson 5.49 2796.3
Go 6.07 479.4
Ruby YAJL 8.23 1085.5
Python 9.85 1409.1
В разрабатываемую сейчас новую версию PostgreSQL, 9.4, было добавлено новое хранилище JSON документов — JSONB. На смену текстовому представлению JSON пришел эффективный двоичный формат, позволяющий осуществлять быстрый доступ к отдельным полям документа.
Хранилище создавалось с учетом наработок по HSTORE — key-value хранилищу, созданному почти 10 лет назад в рамках проекта PostgreSQL. Аналогично HSTORE, для JSONB была добавлена поддержка GIN-индексов. Так, производительность реализации операции «содержится в» по индексу сравнима с производительностью аналогичной операции в MongoDB.
По мнению Josh Berkus, одного из членов PostgreSQL Core Team, добавление JSONB является наиболее важным изменением в PostgreSQL, позволящее ему составить конкуренцию MongoDB и другим документным хранилищам.
С каждой новой версией мобильные устройства и платформы предоставляют все больше возможностей и функциональности, а важные анонсы ведущих поставщиков зачастую разделяют всего несколько месяцев. Последние новости в основном связаны с функциями пользовательского интерфейса (такими как расширенные multitouch-возможности и технология Adobe® Flash®) и усовершенствованиями аппаратуры (быстродействие процессора, емкость памяти и т.п.). Но решающим фактором остается контент. Контент – или, в более общем смысле, данные – постоянно перемещается между приложениями, серверами, мобильными устройствами и пользователями. Без возможности работать с данными смартфоны, такие как Apple iPhone и Google Android, становятся просто слишком дорогими и малоэффективными сотовыми телефонами.
В этой статье из двух частей рассматриваются методы работы с двумя наиболее распространенными форматами данных, используемых в Интернете – XML и JavaScript Object Notation (JSON) – на платформе Android. Эта первая часть охватывает основы XML и JSON и показывает, как построить Android-приложение, которое анализирует и отображает информацию об обновлении состояния Twitter в обоих форматах.
GSON — java-библиотека для сериализации и десериализации практически любых объектов в json-нотацию. Удобно отличается от аналогов тем, что активно развивается, не имеет лишних зависимостей и легка в использовании:
LOR myLor = new LOR()
myLor.add(blackjack);
Gson g = new Gson();
System.out.print(g.toJson(myLor));
Собственно, на основе этой библиотеки уже написан некоторый rpc-сервис, весьма неплохо работающий в связке с dojo.
Новость хороша уже тем, что эта библиотека раньше на linux.org.ru не появлялась, но замечу, что в данной версии исправлены некоторые баги с сериализацией параметризованных классов, содержащих null.