我有一个大的JSON字符串,我想将此字符串转换为Erlang记录。 我找到了jiffy库,但它并没有完全转换为记录。
例如:
jiffy:decode(<<"{\"foo\":\"bar\"}">>).
给出
{[{<<"foo">>,<<"bar">>}]}
但我想要以下输出:
{ok,{obj,[{"foo",<<"bar">>}]},[]}
是否有可用于所需输出的库?
或者是否有任何库可以与jiffy组合使用,以进一步修改它的输出。
考虑JSON字符串很大的事实,我希望输出是最短时间。
答案 0 :(得分:1)
从文档中查看ejson:
在jsx之上的Erlang的JSON库。它为jsx提供了一个声明性接口,我们需要通过它来指定转换规则,ejson将根据规则转换元组。
我使这个库不仅仅是编码,而是将JSON解码为Erlang记录......
为了使ejson生效,需要使用parse_transform ejson_trans编译源文件。所有具有-json属性的记录都可以在以后转换为JSON。