使用Rapture修改json值

时间:2016-10-07 05:25:03

标签: json scala

Circe有这样的功能来根据路径修改json值: root.order.items.each.quantity.int.modify(_ * 2)

说我有一个像这样的狂喜路径列表: val paths: List[Vector[Either[Int, String]]] = ...

基于矢量路径修改狂喜json的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

val newItems = 
  root.order.items.map { item => 
    item.copy(_.quantity = item.quantity.as[Int] * 2, _.name = item.name.toLowerCase)
  }
val newRoot = root.copy(_.order.items = newItems)