public class JacksonUtilTest { public static void main(String[] args) { // 你的原始 JSON 字符串 String jsonStr = "{" + " \"clsAttrs\": [" + " {" + " \"productionCatlogLevel\": {" + " \"name\": \"3333333\"," + " \"brandInternationalName\": \"2222\"," + " \"states\": {" + " \"code\": \"停用\"," + " \"cnName\": \"停用\"" + " }" + " }" + " }" + " ]" + "}"; // 示例1:解析 JsonNode 并获取 name(你的核心需求) JsonNode jsonNode = JacksonUtil.toJsonNode(jsonStr); String name = JacksonUtil.getStringValue(jsonNode, "clsAttrs[0].productionCatlogLevel.name"); System.out.println("获取的name值:" + name); // 输出:3333333 // 示例2:获取嵌套的 states.cnName String cnName = JacksonUtil.getStringValue(jsonNode, "clsAttrs[0].productionCatlogLevel.states.cnName"); System.out.println("获取的cnName值:" + cnName); // 输出:停用 // 示例3:对象转 JSON(格式化输出) User user = new User("张三", 25); String userJson = JacksonUtil.toJson(user, true); System.out.println("对象转JSON:\n" + userJson); // 示例4:JSON 转复杂类型(List<Map>) String listJson = "[{\"name\":\"李四\",\"age\":30},{\"name\":\"王五\",\"age\":35}]"; List<Map<String, Object>> list = JacksonUtil.fromJson(listJson, new TypeReference<List<Map<String, Object>>>() {}); System.out.println("JSON转List:" + list); } // 测试用实体类 static class User { private String name; private Integer age; public User(String name, Integer age) { this.name = name; this.age = age; } // 省略 getter/setter(Jackson 序列化需要) public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } } }
相关推荐
有味道的男人34 分钟前
1688 商品价格 API:阶梯价、代发价、批发价实时查询江晓曼*凡云基地36 分钟前
Hermes Agent 多Agent模式:并行拆解复杂任务的实战指南郭龙飞9803 小时前
OpenClaw Windows 端快速部署教程 小白实操指南学习3人组4 小时前
业务主表+JSON自定义字段2501_925435525 小时前
如何关闭 Windows Defender 病毒和威胁防护(临时或永久)前端若水5 小时前
Windows 系统安装pyenvAxureMost5 小时前
免费商用级虚拟机,26H1 版本实测不能隔夜的咖喱7 小时前
黑马ai大模型笔记(自用,比较粗糙)jio本小子7 小时前
Windows 安装 Java17 + Maven + MySQL 开发环境教程,全程安装到 D 盘习明然7 小时前
记录下解决Python在windows 2008 Server 无法启动