如何使用json4s迭代json字段并插入新值?

如何使用json4s迭代json字段并插入新值?,json,scala,json4s,Json,Scala,Json4s,我有一个简单的json文件: val myJson = { "field1": [ { "name": "john", "lname": "knight" }, { "name": "jack", "lname": "samuel" }, { "name": "elinor", "

我有一个简单的json文件:

  val myJson =  {
      "field1": [
        {
          "name": "john",
          "lname": "knight"
        },
        {
          "name": "jack",
          "lname": "samuel"
        },
        {
          "name": "elinor",
          "lname": "cooper"
        }
      ],
      "field2": [
        {
          ...
        },
        {
          ...
        },
        {
          ...
        }
      ],
      "field3": [
        {
          ...
        },
        {
          ...
        },
        {
          ...
        }
      ]
    }
我想要的是能够在“field1”上迭代,并为每个名称调用一个方法,该方法返回一些值,并将该值插入到“fiel1”下的json中

//这将返回一个字符串列表

val kids = getKids("john")
//这是返回的值

kids = List("amy", "tom")
现在我想插入它:

{
  "field1": [
    {
      "name": "john",
      "lname": "knight"
      "kids": ["amy", "tom"]
    },
    {
      "name": "jack",
      "lname": "samuel"
      "kids": ["edi", "keren"]
    },
    {
      "name": "elinor",
      "lname": "cooper"
      "kids": ["lilly", "mag"]
    }
  ]
...
但是我想迭代所有的名称,并对每个名称执行此操作…我如何使用json4s完成此操作

假设我已经解析了json:

val myParsedJson=JsonMethods.parse(myJson)

我该怎么走


谢谢

我总是发现将json转换为case类,然后从中重新生成比较容易-这是一个选项吗?@reactormank这对我来说是一种b计划:)因为json有点大,所以我不想这样做,但是如果我找不到一个足够简单的解决方案,我会走这条路…我总是发现将json转换为case类,然后从那里重新生成更容易-这是一个选项吗?@reactormank对我来说是一种b计划:)因为json有点大,所以我不想这么做,但是如果我不能找到一个足够简单的解决方案,我会走这条路。。。