java字符串转json取对象和属性值问题

本文通过一个具体的Java代码示例,展示了如何解析包含状态、消息及列表数据的JSON字符串,并从中提取关键信息。
    public static void main(String[] args) {
        String result = "{\"param\":\"{\\\"code\\\":\\\"0\\\",\\\"message\\\":\\\"成功\\\",\\\"result\\\":[{\\\"claimStatus\\\":\\\"审核中\\\"}]}\",\"success\":\"Y\"}";
        JSONObject jsonObject = JSONObject.parseObject(result);
        System.out.println("jsonObject:" + jsonObject);
        JSONObject jsonObjectParam = jsonObject.getJSONObject("param");
        System.out.println("jsonObjectParam:" + jsonObjectParam);
        String code = jsonObjectParam.getString("code");
        System.out.println("code:" + code);
        JSONArray jsonArrayResult = jsonObjectParam.getJSONArray("result");
        System.out.println("jsonArrayResult:" + jsonArrayResult);
        JSONObject jsonObjectResult = (JSONObject) jsonArrayResult.get(0);
        System.out.println("jsonObjectResult:" + jsonObjectResult);
        String claimStatus = jsonObjectResult.getString("claimStatus");
        System.out.println("claimStatus:" + claimStatus);
    }

控制台输出:

jsonObject:{"param":"{\"code\":\"0\",\"message\":\"成功\",\"result\":[{\"claimStatus\":\"审核中\"}]}","success":"Y"}
jsonObjectParam:{"result":[{"claimStatus":"审核中"}],"code":"0","message":"成功"}
code:0
jsonArrayResult:[{"claimStatus":"审核中"}]
jsonObjectResult:{"claimStatus":"审核中"}
claimStatus:审核中

 

Java中实现字符串JSON并获某一属性值,可使用不同的JSON处理库,以下为你介绍几种常见的实现方法: ### 使用FastJSON库 FastJSON是阿里巴巴开源的JSON处理库,使用它能方便地将字符串换为JSON对象,并获指定属性值。示例代码如下: ```java package test; import com.alibaba.fastjson.JSONObject; public class test { public static void main(String[] args) { // 定义JSON格式的字符串 String str = "{\"id\":\"1\",\"name\":\"吴彦祖\",\"age\":\"46\"}"; // 将字符串JSON数据 JSONObject json = JSONObject.parseObject(str); // 输出JSON字符串 System.out.println(json.toJSONString()); // 获指定属性值并输出 System.out.println(json.getString("name")); System.out.println(json.getString("age")); } } ``` 在该示例里,先定义了一个JSON格式的字符串`str`,接着利用`JSONObject.parseObject(str)`方法把字符串换为`JSONObject`对象,最后通过`getString`方法获指定属性的值[^1]。 ### 使用Jackson库 Jackson是一个功能强大的JSON处理库,下面展示如何用它实现字符串JSON并获属性值: ```java import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; public class JacksonExample { public static void main(String[] args) { // 定义JSON格式的字符串 String jsonString = "{\"id\":\"1\",\"name\":\"吴彦祖\",\"age\":\"46\"}"; ObjectMapper objectMapper = new ObjectMapper(); try { // 将字符串换为JsonNode对象 JsonNode jsonNode = objectMapper.readTree(jsonString); // 获指定属性值 String name = jsonNode.get("name").asText(); System.out.println("Name: " + name); } catch (IOException e) { e.printStackTrace(); } } } ``` 此示例中,借助`ObjectMapper`类的`readTree`方法将字符串换为`JsonNode`对象,再通过`get`方法获指定属性的值[^2]。 ### 使用Gson库 Gson是Google提供的JSON处理库,也可用于实现字符串JSON并获属性值,示例代码如下: ```java import com.google.gson.JsonObject; import com.google.gson.JsonParser; public class GsonExample { public static void main(String[] args) { // 定义JSON格式的字符串 String jsonString = "{\"id\":\"1\",\"name\":\"吴彦祖\",\"age\":\"46\"}"; // 将字符串解析为JsonObject对象 JsonObject jsonObject = JsonParser.parseString(jsonString).getAsJsonObject(); // 获指定属性值 String name = jsonObject.get("name").getAsString(); System.out.println("Name: " + name); } } ``` 在这个示例中,利用`JsonParser`类的`parseString`方法将字符串解析为`JsonObject`对象,然后通过`get`方法获指定属性的值[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值