我正在尝试使用Json4s在Scala中操作JSON对象。
说我的JSON看起来像这样:
ListViewItems
说我想为每个行程添加一个字段 - 就像这样:
Rows
我该怎么做?
答案 0 :(得分:4)
有读者案例类:ItineraryReads(startTime,duration)
作家案例类:ItineraryWrites(startTime,duration,id)
data[count]["original"]["attr"]["path"]
这应该有效。把它写成ItineraryWrites列表:)
答案 1 :(得分:1)
transformField可用于merge
:
val t = parse(s).transformField {
case JField("itineraries", JArray(arr)) => // pattern match in there, more type safe
val r = arr.zipWithIndex.map(f => f._1 merge JObject("id" -> JInt(f._2 + 1)))
("itineraries", r)
}
println(compact(render(t)))
> {"data":{"plan":{"itineraries":[{"startTime":1494933289000,"duration":2174,"id":1},{"startTime":2494933289000,"duration":3174,"id":2}]}}}