出于向后兼容的原因,我正在编写一个库来转换来自API的JSON响应。我需要做的是接收任意JSON,并更改某些字段名称。我正在使用scala和argonaut,但是在文档或更改FIELD名称的示例中,我看不到任何方式,仅看到值。
我最终将需要转换的对象折叠并添加到地图中,然后创建一个新的json对象。
val conversionMap = Map("a" -> "b")
Json(
j.objectOrEmpty.toMap.foldLeft(Map.empty[JsonField, Json]) {
case (acc, (key, value)) =>
acc.updated(conversionMap.getOrElse(key, key), j.fieldOrNull(key))
}.toSeq: _*
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句