2010-03-07 11 views
18

Volevo usare YAML ma non c'è una sola libreria YAML matura per Erlang. So che ci sono alcune librerie JSON, ma mi chiedevo quale sia il più maturo?Qual è la libreria JSON più matura per Erlang

+0

possibile duplicato di [Parsing JSON in Erlang] (http://stackoverflow.com/questions/1069547/parsing-json-in-erlang) –

risposta

16

Dai un'occhiata alla quello da mochiweb: mochijson.erl

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

Cool, dai un'occhiata ora. Questa è la tua scelta preferita? – Zubair

+0

Oppure mochijson2. Dipende dai tuoi gusti Quello suggerito restituisce un record con stringhe; il "2" non restituisce record e binari. – Zed

2

Trapexit offre una funzione di ricerca davvero interessante per i progetti di Erlang.

Cerca JSON lì, troverai quasi 13 risultati. Controlla le date delle ultime revisioni, la valutazione dell'utente, lo stato delle attività del progetto.

UPDATE: Ho appena trovato una domanda simile n StackOverflow. Apparentemente, sono abbastanza contenti del parser erlang-json-eep-parser.

+0

Sì, ho guardato qui. qual è il tuo preferito? – Zubair

2

Io uso il json library fornito da framboesia.

Modifica: in realtà sono passato a Jiffy, vedere la risposta di Konstantin.

2

Il mio preferito è mochijson2. L'API è semplice, è abbastanza veloce per me (non mi sono mai preso la briga di farlo benchmark, per essere onesto - sono principalmente en- e de-coding di piccoli pacchetti), e lo sto usando in una stalla " server di produzione "per un anno o giù di lì. Ricordati di installare anche mochinum, mochijson2 lo usa per codificare grandi numeri, se ti manca e tenterai di codificare un numero elevato, genererà un'eccezione.

Consulta anche: mochijson2 examples (stackoverflow)

17

preferisco Jiffy. Funziona con binario ed è davvero veloce.

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

possibile codificare così:

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

controllare anche jsx. "Un'applicazione erlang per consumare, produrre e manipolare JSON. Ispirato da Yajl." Non l'ho ancora provato, ma sembra promettente.

Come nota a margine; Ho trovato questa libreria attraverso Jesse, un validatore dello schema JSON da Klarna.

Problemi correlati