2010-03-07 8 views
18

Quería usar YAML pero no hay una sola biblioteca madura YAML para Erlang. Sé que hay algunas bibliotecas JSON, pero me preguntaba cuál es la más madura.Cuál es la biblioteca JSON más madura para Erlang

+0

posible duplicado de [Análisis JSON en Erlang] (http://stackoverflow.com/questions/1069547/parsing-json-in-erlang) –

Respuesta

16

Tenga una mirada en la de mochiweb: mochijson.erl

1> mochijson:decode("{\"Name\":\"Tom\",\"Age\":10}"). 
{struct,[{"Name","Tom"},{"Age",10}]} 
+0

Genial, eche un vistazo ahora. ¿Esta es tu elección preferida? – Zubair

+0

O mochijson2. Depende de tu gusto El sugerido devuelve un registro con cadenas; el '2' uno no devuelve ningún registro y binarios. – Zed

2

Trapexit ofrece una función de búsqueda realmente genial para los proyectos de Erlang.

Buscar JSON allí, encontrará casi 13 resultados. Verifique las fechas de las últimas revisiones, la calificación del usuario, el estado de la actividad del proyecto.

ACTUALIZACIÓN: Acabo de encontrar una pregunta similar n StackOverflow. Aparentemente, están bastante contentos con el analizador erlang-json-eep-parser.

+0

Sí, miré aquí. ¿Cuál es tu favorito? – Zubair

2

uso el json library proporcionada por el pian.

Editar: De hecho me cambié a Jiffy, ver la respuesta de Konstantin.

2

Mi favorito es mochijson2. El API es sencillo, es lo suficientemente rápido para mí (nunca me molesté en compararlo, para ser sincero, estoy principalmente codificando paquetes pequeños), y lo he estado utilizando en un establo ". servidor de producción "durante un año más o menos. Solo recuerde instalar mochinum también, mochijson2 lo usa para codificar números grandes, si lo pierde, y tratará de codificar un número grande, arrojará una excepción.

Consulte también: mochijson2 examples (stackoverflow)

17

prefiero Jiffy. Funciona con binario y es realmente rápido.

1> jiffy:decode(<<"{\"Name\":\"Tom\",\"Age\":10}">>). 
{[{<<"Name">>,<<"Tom">>},{<<"Age">>,10}]} 

puede codificar así:

2> jiffy:encode({[{<<"Name">>,<<"Tom">>},{<<"Age">>,10}]}). 
<<"{\"Name\":\"Tom\",\"Age\":10}">> 
5

También puedes ver jsx. "Una aplicación erlang para consumir, producir y manipular json. Inspirado por Yajl". Aún no lo he probado, pero parece prometedor.

Como nota al margen; Encontré esta biblioteca a través del Jesse, un validador de esquema json por Klarna.

Cuestiones relacionadas