Какой пакет Haskell для JSON - PullRequest
       5

Какой пакет Haskell для JSON

32 голосов
/ 08 сентября 2010

В Hackage для Haskell имеется около десятка пакетов JSON.Как мне узнать, какой пакет мне следует использовать?Как получить популярное мнение?

Есть ли какая-нибудь статистика, какой пакет используется чаще всего, загружается чаще всего и т. Д.

Ответы [ 3 ]

29 голосов
/ 04 июня 2013

Остальные ответы устарели, я думаю, сегодня общепринятым считается, что лучшей библиотекой JSON и стандартом де-факто в Haskell является Aeson:

http://hackage.haskell.org/package/aeson

сопровождающий - Брайан О'Салливан, известный своими глубокими познаниями в Haskell и своей работой, ориентированной на производительность;нет сомнений, что это правильный выбор.

Кроме того, Aeson предлагает очень хороший API, проверьте этот пример .

Кроме того, я не знаю, в прошломно в настоящее время Йесод также использует Aeson:

http://hackage.haskell.org/packages/archive/yesod-json/1.1.0/doc/html/Yesod-Json.html ", используя пакет aeson"

http://www.yesodweb.com/book/json-web-service "Мы будем использовать aeson для анализа и рендеринга JSON"

7 голосов
/ 08 сентября 2010

Выбор по чужим зависимостям

Если вы используете одну из новых веб-платформ Haskell, вы можете рассмотреть возможность использования той же библиотеки json, что и фреймворк. Из обратных зависимостей кажется, что спаривание:

  • Йесод: JSONb
  • Happstack: RJson
  • На лошади: ???

И многие пакеты используют json.

Выберите по функциям

Вы также можете использовать пакет в соответствии с его функциями.

Попробуйте использовать JSONb, если вы являетесь пользователем ByteStrings. Он использует AttoParsec вместо обычного Parsec, поэтому он может быть быстрее (но сначала измерьте его).

RJson выполняет некоторые хитрые трюки для автоматической сериализации вложенных записей .

YAJL предлагает привязки к yajl, быстрому синтаксическому анализатору, написанному на C. Но будьте осторожны: оригинальный yajl - BSD, а Haskell YAJL - GPL-v3.

json, вероятно, безопасный выбор.

6 голосов
/ 08 сентября 2010

Согласно этот список , RJson загружался чаще, чем json, но json является наиболее часто используемым другие библиотеки в Hackage, с 77 обратными зависимостями (33 прямыми и 44 косвенными), против 5 для JSONb в секунду.

...