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