如何使用Java解析RapidAPI返回的Relaxed JSON格式响应数据


Relaxed JSON(无引号字段名)Java解析方案
以下两种主流JSON解析库都支持该类格式解析:
方案1:Jackson库实现(推荐)
Jackson原生内置无引号字段名解析支持,仅需开启对应配置即可:
- 引入Maven依赖
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.15.2</version> </dependency>
- 解析代码示例
import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; public class RelaxedJsonParser { public static void main(String[] args) throws Exception { // 初始化解析器并开启宽松配置 ObjectMapper mapper = new ObjectMapper(); // 核心配置:允许无引号的字段名称 mapper.enable(DeserializationFeature.ALLOW_UNQUOTED_FIELD_NAMES); // 可选扩展配置:适配更多非标准JSON特性 mapper.enable(DeserializationFeature.ALLOW_SINGLE_QUOTES); mapper.enable(DeserializationFeature.ALLOW_TRAILING_COMMA); // 直接解析Relaxed JSON字符串 String jsonStr = "{name: \"测试数据\", status: 200, data: []}"; // 可替换为自定义的实体类接收解析结果 Object result = mapper.readValue(jsonStr, Object.class); } }
方案2:Gson库实现
Gson开启宽松解析模式后也可解析无引号字段名的JSON格式:
- 引入Maven依赖
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.10.1</version> </dependency>
- 解析代码示例
import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class RelaxedJsonParser { public static void main(String[] args) { // 初始化解析器并开启宽松模式 Gson gson = new GsonBuilder() .setLenient() .create(); // 解析Relaxed JSON字符串 String jsonStr = "{name: \"测试数据\", status: 200, data: []}"; // 可替换为自定义的实体类接收解析结果 Object result = gson.fromJson(jsonStr, Object.class); } }
内容的提问来源于stack exchange,提问作者Maraoui Abdallah
相关产品推荐
相关产品推荐

