您的位置:首页 > Web前端 > JavaScript

erlang json: jsx,rfc4627,mochijson2,jsonx 简单比较

2016-09-22 15:20 711 查看
先看个例子吧:

Word = unicode:characters_to_binary( "大海" ),
Doc2 = [{name, Word}, {age, 33}, {phones, [3332211, 4443322, Word]}],

A2 = jsonx:encode( Doc2 ),
%<<{"name":"大海","age":33,"phones":[3332211,4443322,"大海"]}>>
A3 = jsx:encode( Doc2 ),
%<<{"name":"大海","age":33,"phones":[3332211,4443322,"大海"]}>>

L = {struct, Doc2},
A11 = iolist_to_binary(mochijson2:encode( L )),
%<<{"name":"\u5927\u6d77","age":33,"phones":[3332211,4443322,"\u5927\u6d77"]}>>

Doc = {[{foo, [<<"bing">>, 2.3, true]}]},
A4 = jiffy:encode( Doc2 ), % 运行后崩溃了,如果是Doc,可以正确运行

AEnc = {obj, Doc2},
A5 = rfc4627:encode( AEnc ),
%{"name":"大海","age":33,"phones":[3332211,4443322,"大海"]}
Json2 = jsonx:encode(Map。。), 不能解析。。。
Json3 = jiffy:encode(Map。。), 结果正确
Json3 = jsx:encode(Map。。), 结果正确

看看这个最简单人例子的结果吧,
jiffy 排名第一的,解析出错。
mochijson2 结果不正确,english是可以的,中文就出问题了。
rfc4627 后边是乱码
jsonx 对map 数据不能正确解析
只有jsx 库是正确的结果, jsonx 还可以解析record,也还可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  erlang