在erlang中将字符串与变量连接起来

时间:2015-05-13 12:01:50

标签: string erlang string-concatenation

我在erlang中的字符串是Msg#archive_message.body

{\"message\":\"tttfdfdfdfdddtt\",\"customid\":\"454dddfdfdfd\"}

我需要做到

  <<"{\"message\":\"tttfdfdfdfdddtt\",\"customid\":\"454dddfdfdfd\"}">>

并传入一个函数。任何帮助表示赞赏。

2 个答案:

答案 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">>}