2015-09-02 39 views
-2

我正在Erlang編寫一個簡單的聊天服務器。 我想讓服務器從我的客戶端(用Java編寫的Android應用程序)接收命令。一個命令由JSON字符串組成,其包括命令本身和執行該命令所需的附加信息,例如,如何解析Erlang中的'普通'JSON

{"command": "send", "message": "Hello World!"} 

所以我找了Erlang的JSON解析器和偶然瞬間,JSX和mochijson。 的問題是,這些解析器只接受「二郎風格JSON」(例如

<<"{\"foo\": \"bar\"}">> 

) ,如果我的客戶是用Erlang編寫的,但不明白「正常」的JSON,這是一個將被罰款由我的Android應用程序中的JSON解析器使用。

有沒有辦法與Erlang一起使用標準的JSON?

+3

請問你的 '正常' 的JSON從 '二郎' JSON不同...?! – deceze

回答

4

你的 「二郎JSON」 是現在的樣子二郎表示二進制字符串:

自己嘗試一下:

$erl 
1> list_to_binary(io:get_line("")).       
{"command": "send", "message": "Hello World!"} 
<<"{\"command\": \"send\", \"message\": \"Hello World!\"}\n">>