You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Java将给定JSON数组转换为指定格式的最简单方法是什么?

实现JSON转换的最简方案

首先注意你提供的原始JSON存在语法问题,需要先修正后再处理:

  • 最外层为数组但元素是键值对结构,实际应为JSON对象(外层用{}包裹而非[])
  • atr4对应的value3缺少右引号,value7缺少字符串引号

修正后的原始JSON示例:

{
   "key1":{
      "atr1":"key1",
      "atr2":"value1",
      "atr3":"value2",
      "atr4":"value3",
      "atr5":"value4"
   },
   "key2":{
      "atr1":"key2",
      "atr2":"value5",
      "atr3":"value6",
      "atr4":"value7",
      "atr5":"value8"
   }
}

最简单的实现方式是使用Java生态通用的Jackson JSON处理库完成,无需自定义复杂解析逻辑,也不需要额外定义对应实体类,操作步骤如下:

步骤1:引入Jackson依赖(Maven示例)

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.2</version>
</dependency>

步骤2:代码实现

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class JsonConverter {
    public static void main(String[] args) throws Exception {
        // 替换为你实际的原始JSON字符串
        String rawJson = "此处放修正后的原始JSON字符串";
        ObjectMapper objectMapper = new ObjectMapper();
        
        // 解析原始JSON为树结构
        JsonNode rootNode = objectMapper.readTree(rawJson);
        List<JsonNode> resultList = new ArrayList<>();
        
        // 遍历所有子对象,移除多余字段
        Iterator<JsonNode> elements = rootNode.elements();
        while (elements.hasNext()) {
            ObjectNode childNode = (ObjectNode) elements.next();
            childNode.remove("atr1");
            resultList.add(childNode);
        }
        
        // 输出格式化后的目标JSON
        String targetJson = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(resultList);
        System.out.println(targetJson);
    }
}

运行上述代码即可直接输出你需要的目标格式JSON。

内容的提问来源于stack exchange,提问作者Charith Jayasanka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 02:06:04