2
我正在编写一些Elixir代码,它将发出HTTP POST请求,其中主体是选项的JSON文档。其中一个属性以@
符号开头。在elixir中以@开头的映射关键字文字
不可能的:
json = %{ q: "foobar", @timestamp: 1234567890 } |> Poison.encode!
什么是写一个地图键文字与@
开始正确的方法是什么?
我正在编写一些Elixir代码,它将发出HTTP POST请求,其中主体是选项的JSON文档。其中一个属性以@
符号开头。在elixir中以@开头的映射关键字文字
不可能的:
json = %{ q: "foobar", @timestamp: 1234567890 } |> Poison.encode!
什么是写一个地图键文字与@
开始正确的方法是什么?
如果你希望它被视为一个原子,你可以这样做:
%{ :q => "foobar", :"@timestamp" => 1234567890 }
这也是正确的:
json = %{ :"@timestamp" => 1234567890, q: "foobar" }
然而,这不是:
json = %{ q: "foobar", :"@timestamp" => 1234567890 }
** (SyntaxError) iex:5: syntax error before: "@timestamp"
你也可以使用字符串作为关键字:
json = %{ "@timestamp" => 1234567890, q: "foobar" }