0

我有一个二进制 <<"{\"resp_child\":\"0\"}\n">> (你可以看到它包括 JSON),我想将这个 0 提取为二进制 <<0>>这个二进制文件。

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

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

但我得到了 JSON 字符串。

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

不知道该怎么做才能得到<<0>>。

谢谢你。

4

2 回答 2

4

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

  1. jsx
  2. 瞬间
  3. mochijson2

    proplists:get_value(<<"resp_child">>, jsx:decode(<<"{\"resp_child\":\"0\"}\n">>))。

因此,如果您需要将 <<"0">>, <<"1">>, ... <<"9">> 替换为 <<0>>, <<1>>, ... << 9>> 你可以为此编写转换函数

于 2013-10-01T07:38:37.353 回答
0

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

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

数字是 <<0>>,这是我想要的。

你可以阅读更多关于 proplists 的信息:http ://www.erlang.org/doc/man/proplists.html 。

谢谢 :)

于 2013-10-04T11:33:51.247 回答