如何用java语法解析接口返回的json串?

起因:做接口测试的时候经常需要对接口返回的响应数据(一般都是json字符串格式)做解析

下面是一个接口响应数据的例子:

下面是对上面接口返回的json格式字符串的解析

Object dataObj=JSONPath.read(content,"$.data");
        JSONObject dataJsonObj=JSON.parseObject(dataObj.toString());
        //获取key="searchResult"的值,是一个JSON数组
        JSONArray searchResultArray=dataJsonObj.getJSONArray("searchResult");
        //判断searchResult的元素个数是否大于等于1
        if(searchResultArray.size()<1){
               //报错
        }

//获取searchResult[0]
Object searchResult1=searchResultArray.get(0);JSONObject searchResult1JsonObj=JSON.parseObject(searchResult1.toString());

JSONArray itemsArray=searchResult1JsonObj.getJSONArray("items");
// 判断items的元素个数是否大于等于1if(itemsArray.size()<1){    //报错}
Object items0=itemsArray.get(0);Object businessObject=JSONPath.read(items0.toString(),"$.business");JSONObject businessJsonObj=JSON.parseObject(businessObject.toString());String hasAds=JSONPath.read(businessJsonObj.toString(),"$.hasAds").toString();//判断hasAds的值if(hasAds.equals("false")){    //...}
 

  

时间: 2024-10-21 05:05:16

如何用java语法解析接口返回的json串?的相关文章

Java 语法 索引 ----- 接口

interface MyInterface { void exposed(); } class MyClass implements MyInterface { public void exposed() {} public void hidden() {} } public static void main(String[] args) { MyInterface i = new MyClass(); } 参考文献: Java Quick Syntax Reference by Mikael

在C#中通过使用Newtonsoft.Json库来解析百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据

百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据,如下所示: http://api.map.baidu.com/geocoding/v3/?address=**省**市**区**路**号院**社区&output=json&ak=您的AK密钥 返回结果实例: { "status":0, "result": { "location":{"lng":116.79, "lat":

使用GSON和泛型解析约定格式的JSON串(转)

时间紧张,先记一笔,后续优化与完善. 解决的问题: 使用GSON和泛型解析约定格式的JSON串. 背景介绍: 1.使用GSON来进行JSON串与java代码的互相转换. 2.JSON的格式如下三种: 写道 #第一种: {"success":true,"data":{"averageStarLevel":4.7,"remarkCount":10}} #第二种: {"success":true,"da

判断JSON是否为空 (用spring mvc @ResponseBody 自动返回的json串 )

判断JSON是否为空 (用spring mvc @ResponseBody 自动返回的json串 ) 知识分类:EXTJS  spring mvc json 记录时间: 20150708 简单描述:用json.length 属性长度来判断是否为空,在此过程中spring mvc 自动返回的json串是 字符串的类型,所以用.length的方式返回的则是字符串的长度(一般空的JSON 在此处返回的长度应为3),并不是数组的长度,在EXTJS中用Ext.decode(json); 则可以将字符串js

Jquery JavaScript解析Ajax返回的json数据(转)

最近在用jquery的ajax方法传递接收json数据时发现一个问题,那就是返回的data数据,有时候可以直接作为json数据使用,可有时候又不行. 经过网友指出,这个问题已经有了比较明确的结论,那就是jquery ajax方法的complete方法是不会处理dataType的,所以如果你是在complete里面试图直接用json数据是不可行的,必须先通过eval. $.ajax方法如下: Java代码 $.ajax({ type: “POST”, url: ctxRoot+’FolderAct

ajaxFileUpload上传文件成功后却无法解析服务器返回的json数据

ajaxFileUpload是一款很好用的文件上传插件,网上也有很多关于它的版本,但在上传文件成功后想返回json数据给前台时,却会出现无法解析json数据的情况. 仔细调试发现其实在向服务器提交数据后,是进入了success回调函数的,只是没有解析到json数据.那就说明服务器做出了响应的,进入了success方法的,唯一的问题就是前台接受的数据不是json格式的. 使用console.log输出data发现并不是纯粹的json数据,其中头部多了<pre style="word-wrap

python解析url返回的json格式数据

1.python代码# --*-- coding=utf-8 --*--import urllib2import urllibimport json weatherHtml = urllib.urlopen('http://songsearch.kugou.com/song_search_v2?keyword=周杰伦&pagesize=1')#通过urllib模块中的urlopen的方法打开urlweatherHtml1 = weatherHtml.read()#通过read方法获取返回数据pr

[转]android中解析后台返回的json字符串

普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}} 分析代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

菜鸟学习Spring——SpringMVC注解版解析不同格式的JSON串

一.概述 不同格式的JSON串传到后台来实现功能这个是我们经常要做的一件事,本篇博客就给大家介绍四种不同的JSON串传到后台后台如何用@RequestBody解析这些不同格式的JSON串的. 二.代码展示 需要引用的jar包 1.xml配置 Web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.s