mochijson2的例子!

时间:2009-06-16 07:43:02

标签: json erlang

对于Erlang和Mochiweb,我是一个两周大的婴儿。之前我有一个在PHP上运行的系统,很快我意识到它无法处理我期望的那种负载。所以我决定将后端切换到基于Mochiweb的服务器。 现在我需要知道如何使用Mochiweb实现JSON。我完全了解mochijson2库的存在,但作为初学者,我无法解决如何使用它。有人可以指点我找到在erlang中使用这个库或任何其他json库的例子吗?

4 个答案:

答案 0 :(得分:9)

mochijson2 API基本上只包含两个函数,如果你已经下载了mochiweb,可以直接从Erlang shell中使用,如下所示:

erl -pa path/to/mochiweb/ebin
...
1> mochijson2:decode(<<"[1,2,3]">>).
[1,2,3]
2> iolist_to_binary(mochijson2:encode([1,2,3])).
<<"[1,2,3]">>

在mochiweb / src / mochijson2.erl的底部有一些测试用例可能也有助于理解JSON术语和Erlang术语之间的映射。

答案 1 :(得分:8)

是的,我不得不在源代码中花费大量时间来弄清楚发生了什么。实际上,这描述了我对Erlang的很多体验。这让我了,生成我需要的JSON。这是一个简单的例子。

ERL  :: {struct, [{strKey, <<"strVal">>}, {intKey, 10}, {arrayKey, [1, 2, 3]}]}
JSON :: {strKey:"strVal", intKey:10, arrayKey:[1, 2, 3]}

因此,在该示例中,您可以看到如何创建对象(mochijson2希望您调用结构),字符串,整数和数组。祝你好运!

答案 2 :(得分:4)

我建议阅读/观看/下载Start Developing Web Applications on Erlang

答案 3 :(得分:1)

除了@ rik.the.vik的评论之外,以下是等效的erlang命令:

erl -pa path/to/mochiweb/ebin
...
iolist_to_binary(mochijson2:encode({struct, [{strKey, <<"strVal">>}, {intKey, 10}, {arrayKey, [1, 2, 3]}]})).
mochijson2:decode(<<"{\"strKey\":\"strVal\", \"intKey\":10, \"arrayKey\":[1, 2, 3]}">>).