我在erlang中的字符串是Msg#archive_message.body
{\"message\":\"tttfdfdfdfdddtt\",\"customid\":\"454dddfdfdfd\"}
我需要做到
<<"{\"message\":\"tttfdfdfdfdddtt\",\"customid\":\"454dddfdfdfd\"}">>
并传入一个函数。任何帮助表示赞赏。
答案 0 :(得分:1)
如果
{\ “消息\”:\ “tttfdfdfdfdddtt \” \ “的自订\”:\ “454dddfdfdfd \”}
是一个字符串,你只需要用erlang将其转换为二进制文件:list_to_binary / 1
答案 1 :(得分:1)
Eshell V6.2 (abort with ^G)
1> unicode:characters_to_binary("{\"message\":\"tttfdfdfdfdddtt\",\"customid\":\"454dddfdfdfd\"}").
<<"{\"message\":\"tttfdfdfdfdddtt\",\"customid\":\"454dddfdfdfd\"}">>
然后,您可以使用jsx将其解析为列表
2> jsx:decode(<<"{\"message\":\"tttfdfdfdfdddtt\",\"customid\":\"454dddfdfdfd\"}">>).
[{<<"message">>,<<"tttfdfdfdfdddtt">>},
{<<"customid">>,<<"454dddfdfdfd">>}]
或者进入地图
3> jsx:decode(<<"{\"message\":\"tttfdfdfdfdddtt\",\"customid\":\"454dddfdfdfd\"}">>, [return_maps]).
#{<<"customid">> => <<"454dddfdfdfd">>,
<<"message">> => <<"tttfdfdfdfdddtt">>}