将Erlang Tuple编码为JSON

时间:2016-12-06 00:52:49

标签: json erlang

如何使用Tuples&amp ;;转换列表?原子与将列表中的二进制字符串转换为JSON? 我看到Erlang : Tuple List into JSON 我找到了https://github.com/rustyio/BERT-JS

我想要一个我可以调用的API,如

erlang_json:convert([{a, b, {{c, d}}, 1}, {"a", "b", {{cat, dog}}, 2}

将原子转换为字符串或其他标准方式在Javascript端进行处理。

我有一些复杂的Erlang列表需要发送到我的网页。

3 个答案:

答案 0 :(得分:3)

只为你 https://github.com/romanr321/t2j

你不需要将它包装在一个列表中,它需要一个元组参数并返回一个json格式化的字符串。

>Tuple = {{key, value}, { key2, {key3, [value1, 2,3]}}}.
>t2j:t2jp(Tuple).
{"key":"value", "key2, {"key3":["value1", 2,3]}}

答案 1 :(得分:2)

目前还不清楚[{a, b, {{c, d}}, 1}, {"a", "b", {{cat, dog}}, 2}...会变成JSON,但您可能会看一下jiffyjsx。它们都适用于简单的键/值结构。例如:

> Term = #{a => b, c => 1, <<"x">> => <<"y">>}.
#{a => b,c => 1,<<"x">> => <<"y">>}

> jiffy:encode(Term).
<<"{\"x\":\"y\",\"c\":1,\"a\":\"b\"}">>

> jsx:encode(Term).
<<"{\"a\":\"b\",\"c\":1,\"x\":\"y\"}">>

如果你能说出你希望你的示例输入变成什么JSON,我可能会给你一个更好的建议。

答案 2 :(得分:0)

bin\debug库非常好。它可以在地图或元组之间转换: https://github.com/sile/jsone

我已经广泛使用它,而且闪电般快。

我发现的唯一问题是,包含地图列表的地图会引发错误。我希望这个问题已解决,但也许我是唯一尝试做到这一点的人。