Elixir-更新具有字符串键的地图
如何更新具有字符串键的地图?我想更新“品牌”价值 我的代码(产品是带有“品牌”键的地图): 产出:Elixir-更新具有字符串键的地图,elixir,Elixir,如何更新具有字符串键的地图?我想更新“品牌”价值 我的代码(产品是带有“品牌”键的地图): 产出: uri decode: "\"e&ggsssssaaqss\"" json decode: "e&ggsssssaaqss" actual product brand: "%22e%26ggsssssaaqss%22" 它没有更新产品[“品牌”] 实际产品品牌日志应等于更新后的json解码日志 我做错了什么?如果地图有如下字符串键: my_map = %{"a" => 1,
uri decode: "\"e&ggsssssaaqss\""
json decode: "e&ggsssssaaqss"
actual product brand: "%22e%26ggsssssaaqss%22"
它没有更新产品[“品牌”]
实际产品品牌
日志应等于更新后的json解码
日志
我做错了什么?如果地图有如下字符串键:
my_map = %{"a" => 1, "b" => 2}
您可以使用更改的键创建新地图,如下所示:
my_new_map = Map.put(my_map, "a", 100)
或者,您可以使用更新的映射重新绑定现有的my_map
变量,如下所示:
my_map = Map.put(my_map, "a", 100)
更简洁的语法是|运算符
my_map = %{"a" => 1, "b" => 2}
%{my_map | "a" => 100}
或者也可以使用put_in
方法
my_map = %{"a" => 1, "b" => 2}
put_in(my_map["a"], 100)
product
的原始值是多少?您需要将其重新赋值:product=Map.put(product,“brand”,brand)
@DogbertThanks@Dogbert我会删除这项质询。你能告诉我URI解码的方向,然后JSON解码整个地图,而不是对每个字段单独进行解码吗?
my_map = %{"a" => 1, "b" => 2}
put_in(my_map["a"], 100)