java - 在 java 中重新格式化 JSON 数组/对象
问题描述
我正在尝试将此 json 文件重新格式化为不同的格式。我以前从未使用过杰克逊或 gson。我得到了它的想法,但我不知道如何实现它。
所以我有一个 json 文件:file.json 包含:
{
"Fruits": [
{
"name": "avocado",
"organic": true
},
{
"name": "mango",
"organic": true
}
]
}
我想要的是得到这种格式:
{
"List Fruits":{
"Fruits": [
{
"name": "avocado",
"organic": true
},
{
"name": "mango",
"organic": true
}
]
}
}
以某种方式在 json 文件中添加“列出水果”。
我正在尝试使用jackson api,但我不知道如何。
解决方案
将 JSON 分配给 String 变量,例如将上述 JSON 分配给名为 的变量json
:
String json = "..." // here put your JSON text;
为您的对象准备类:
class Fruit {
private String name;
private boolean organic;
}
class Fruits {
private List<Fruit> fruits;
}
然后使用 Gson 将 JSON 转换为您的对象:
Gson gson = new Gson();
Fruits fruits = gson.fromJson(json, Fruits.class);
接下来ListOfFruits
为您的fruits
对象准备包装类:
class ListOfFruits {
private Fruits listOfFruits;
public ListOfFruits(Fruits fruits) {
listOfFruits = fruits;
}
}
接下来将您的对象打包fruits
到另一个对象中:
ListOfFruits lof = new ListOfFruits(fruits);
最后生成输出 JSON:
String newJson = gson.toJson(lof);
推荐阅读
- anaconda - 尝试在虚拟环境中安装 requirements.txt 并找不到 anaconda 1.7.2 版
- fiware - Orion 上下文代理的 HA 集群部署
- c# - C#如何将元素添加到特定索引?
- javascript - Safari 阻止弹出窗口
- aframe - a-node.js TypeError:无法读取未定义的属性“构造函数”
- android - 如何更新项目的 ID?
- android - 元素之间的约束进入RelativeLayout
- python - sqlalchemy 未对架构执行评论
- algorithm - 为什么说实用的拜占庭容错算法是异步的?
- python - 通过线性插值组合两个不同的时间戳数据帧