erlang将复杂的二进制结构转换为JSON

时间:2013-10-01 06:22:12

标签: erlang

我有二进制<<“{\”resp_child \“:\”0 \“} \ n”>> (你可以看到它包含JSON),我想把这个0提取为二进制<<< 0>>从这个二进制文件。

我是erlang的新手,我正在尝试

string:join(binary_to_list(<<"{\"resp_child\":\"0\"}\n">>), "")

但是我得到了JSON字符串。

"{\"resp_child\":\"0\"}\n"

不知道该怎么做以获得&lt;&lt;&lt;&lt;&gt;&gt;。

谢谢。

2 个答案:

答案 0 :(得分:4)

为什么不使用Erlang JSON解析库之一?

  1. jsx
  2. jiffy
  3. mochijson2

    proplists:get_value(&lt;&lt;“resp_child”&gt;&gt ;, jsx:decode(&lt;&lt;“{\”resp_child \“:\”0 \“} \ n”&gt;&gt;))

  4. 因此,如果您需要更换&lt;&lt;“&lt;”0“&gt;&gt;,&lt;&lt;”1“&gt;&gt;,...&lt;&lt;”9“&gt;&gt;至&lt;&lt;&lt;&lt;&gt;&gt;,&lt;&lt;&lt;&gt;&gt;,&lt;&lt;&lt;&lt;&lt;&quot;&gt;&gt;你可以为这个

    写转换函数

答案 1 :(得分:0)

是的,这段代码对我有用。

Struct = mochijson2:decode(<<"{\"resp_child\":\"0\"}\n">>),
{struct, JsonData} = Struct,
Digits = proplists:get_value(<<"resp_child">>, JsonData).

数字是&lt;&lt;&lt; 0&gt;&gt;,这就是我想要的。

您可以在http://www.erlang.org/doc/man/proplists.html了解有关道具列表的更多信息。

谢谢:)