我想使用YAML,但Erlang没有一个成熟的YAML库。我知道有一些JSON库,但想知道哪个是最成熟的?
答案 0 :(得分:17)
看一下来自mochiweb的那个:mochijson.erl
1> mochijson:decode("{\"Name\":\"Tom\",\"Age\":10}").
{struct,[{"Name","Tom"},{"Age",10}]}
答案 1 :(得分:17)
我更喜欢Jiffy。它适用于二进制,非常快。
1> jiffy:decode(<<"{\"Name\":\"Tom\",\"Age\":10}">>).
{[{<<"Name">>,<<"Tom">>},{<<"Age">>,10}]}
也可以编码:
2> jiffy:encode({[{<<"Name">>,<<"Tom">>},{<<"Age">>,10}]}).
<<"{\"Name\":\"Tom\",\"Age\":10}">>
答案 2 :(得分:4)
同时查看jsx。 “用于消费,制作和操纵json的erlang应用程序。受到Yajl的启发。”我自己还没试过,但看起来很有希望。
答案 3 :(得分:2)
Trapexit为Erlang项目提供了非常酷的搜索功能。
在那里查找JSON,你会发现近13个结果。检查最新修订的日期,用户评级,项目活动状态。
更新:我刚刚发现了类似的问题n StackOverflow。显然,他们对erlang-json-eep-parser解析器非常满意。
答案 4 :(得分:2)
我使用yaws提供的json library。
编辑:我实际上切换到Jiffy,请参阅Konstantin的回答。
答案 5 :(得分:2)
我最喜欢的是mochijson2。 API很简单,它对我来说足够快(我从来没有真正打扰它进行基准测试,说实话 - 我主要是对小数据包进行编码和解码),而且我一直在稳定地使用它“生产服务器“一年左右。只记得安装mochinum,mochijson2使用它来编码大数字,如果你错过它,你会尝试编码一个大数字,它会抛出异常。