用于将JSON字符串转换为Erlang记录的库

时间:2017-01-29 12:52:16

标签: json erlang record

我有一个大的JSON字符串,我想将此字符串转换为Erlang记录。 我找到了jiffy库,但它并没有完全转换为记录。

例如: jiffy:decode(<<"{\"foo\":\"bar\"}">>). 给出

{[{<<"foo">>,<<"bar">>}]}

但我想要以下输出:

{ok,{obj,[{"foo",<<"bar">>}]},[]}

是否有可用于所需输出的库?

或者是否有任何库可以与jiffy组合使用,以进一步修改它的输出。

考虑JSON字符串很大的事实,我希望输出是最短时间。

1 个答案:

答案 0 :(得分:1)

从文档中查看ejson

  

在jsx之上的Erlang的JSON库。它为jsx提供了一个声明性接口,我们需要通过它来指定转换规则,ejson将根据规则转换元组。

     

我使这个库不仅仅是编码,而是将JSON解码为Erlang记录......

     

为了使ejson生效,需要使用parse_transform ejson_trans编译源文件。所有具有-json属性的记录都可以在以后转换为JSON。