java后端解析json字符串

背景:
在调用京东万象实名认证互联网接口的时候,它返回的是json格式的字符串,我使用的是京东万象的身份证二要素实名认证
接口(https://wx.jdcloud.com/market/datas/5/11556),返回的json格式字符串示例如下图:
在这里插入图片描述
需要取出json格式字符串中的某些值,所以需要解析json字符串
步骤:
1、在pom.xml文件中导入阿里巴巴的json解析包fastjson的依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.36</version>
</dependency>

2、编写后端代码

// 假设这就是返回的json格式的字符串
String jsonString = "{\n" +
                    "    \"code\": \"10000\",\n" +
                    "    \"charge\": false,\n" +
                    "    \"remain\": 1305,\n" +
                    "    \"msg\": \"查询成功\",\n" +
                    "    \"result\": {\n" +
                    "        \"error_code\": 0,\n" +
                    "        \"reason\": \"成功\",\n" +
                    "        \"result\": {\n" +
                    "            \"realname\": \"乐天磊\",\n" +
                    "            \"idcard\": \"350721197702134399\",\n" +
                    "            \"isok\": true\n" +
                    "        }\n" +
                    "    }\n" +
                    "}";

//使用fastjson解析json格式的字符串为json对象
JSONObject jsonObject = JSONObject.parseObject(jsonString);

//获取通信标识code
String code = jsonObject.getString("code");

//判断通信是否成功
if (!StringUtils.equals("10000", code)) {
    return Result.error("通信异常");
}

//获得业务处理结果,result中存储的也是json字符串
Boolean isok = jsonObject.getJSONObject("result").getJSONObject("result").getBoolean("isok");

if (!isok) {
    return Result.error("真实姓名和身份证号码不匹配");
}

// 身份验证成功,进行其他操作

3、java后台解析xml格式字符串(地址:https://blog.csdn.net/qq_42449963/article/details/105395517

发布了177 篇原创文章 · 获赞 24 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42449963/article/details/105394602