当前位置: 首页 > 知识库问答 >
问题:

在JSON中转换列表,然后操作json并添加嵌套节点Java

云和硕
2023-03-14

我有一个对象列表:

List<ScuolaEntity> result = scuolaService.getAllScuoleEntity();

我想在json对象中转换列表,我已经用gson、JSONObject甚至JsonNode进行了尝试,但我找不到深入操作这个json的方法。

这是实际的json:

[
    {
        "codiceMeccanografico": "RMAT123456",
        "anno": 2022,
        "sezione": "A",
        "nome": "PIETRO",
        "cognome": "BUCCIANTI",
        "classe": {
            "anno": 2022,
            "sezione": "A"
        }
    },
    {
        "codiceMeccanografico": "RMAT123456",
        "anno": 2022,
        "sezione": "A",
        "nome": "LEONARDO",
        "cognome": "FANTE",
        "classe": {
            "anno": 2022,
            "sezione": "A",
            "ubicazione": "PIANO TERRA"
        }
    }
]

这就是我想要实现的目标:

{
  "scuola": {
    "codiceMeccanografico": "RMAT123456",
    "classe": {
      "anno": 2022,
      "sezione": "A",
      "studenti": [
        {
          "nome": "PIETRO",
          "cognome": "BUCCIANTI"
        },
        {
          "nome": "MARIO",
          "cognome": "ROSSI"
        }
      ]
    }
  }
}

共有1个答案

宰父智敏
2023-03-14

您可以创建具有所需结构的类,并将值映射到其中,例如。

public class Scuola {
    private String codiceMeccanografico;
    private Classe classe;
}

public class Classe {
    private int anno;
    private String sezione;
    private List<Studente> studenti;
}

public class Studente {
    private String nome;
    private String cognome;
}

然后执行以下操作:

Scuola map(ScuolaEntity scuolaEntity) {
    Scuola scuola = new Scuola();
    scuola.setCodiceMeccanografico(scuolaEntity.getCodiceMeccanografico());

    Classe classe = new Classe();
    classe.setAnno(scuolaEntity.getAnno());
    // etc.
    scuola.setClasse(classe);

    // etc.
    return scuola;
}
 类似资料:
  • 我有一个对象列表: 我想在json对象中转换列表,我已经尝试过使用gson、JSONObject甚至JsonNode,但我找不到向json添加头/节点的方法。 这是实际的json: 这就是我想要实现的 我可以添加这个标题“scuole”与gson库或其他?

  • 我有一个JSON如下所示: 为什么在输出中看不到Level1、Level2?请有人帮忙,我想看看在输出和输入太相似了。

  • 所以目前我看到的是这样的: 这是我目前编写的Jolt规范(编辑): 以及转换后的输出: 任何帮助都是非常感谢的。

  • 有人能告诉我如何使用post将下面的转换为格式吗。我检查了这个链接,但它不工作。将JSON转换为x-www-form-urlencoded 我还没有找到一个令人满意的答案。 如果我在原始中使用上面的,它在邮递员中工作正常。请看下面的屏幕 但它不适用于。它不读取Tenants_Delete命令。 下面是我尝试过的另外两种方法

  • 如何使用jolt转换将平面JSON转换为嵌套JSON?我对JSON和jolt是新手。 输入: 预期输出: 编辑:我想在< code>SubFunds中添加一个新字段,但是新字段不在JSON文件中,它是计算字段,我可以按原样添加示例吗 并重命名字段: