接口返回值转成json
接口返回值结果转换成JSON,具体的方法如下:
public static String GetJsonValue(String result,int index,String key){int indexloc,indexkey;String newstr;indexloc=result.indexOf("[");indexkey=result.indexOf(key);//判断Data域的内容if (( indexloc>indexkey || indexloc==-1) & index==0){JSONObject jsonObj = JSONObject.fromObject(result);return jsonObj.getString(key);}else{newstr=GetNPro(result,index);return GetJsonValue(newstr,0,key);}}public static String GetNPro(String str,int n){Matcher slashMatcher = Pattern.compile("\\{").matcher(str);int mIdx = 0;while(slashMatcher.find()) {if(mIdx ==n){break;}mIdx++;}str=str.substring(slashMatcher.start(),str.length());return str.substring(0, str.indexOf("}")+1); }
通过上面的两个函数,我们可以将字符串转化成Json字符串,并能通过关键字来提取对应数据。
如果要提取的数据是第一层里面的,可以直接提取,如:GetJsonValue (jresult,0,”error”);
如果要提出的数据在data中或是更深的json中,则需要指示是第几个数据了,数据以1开始计数,
如:GetJsonValue(jresult,2,”name”) 表示获取第二个数据项的name字段的值。
借助于这两个函数,我们可以根据Key来提取出需要的数据,进而去做我们测试用例的判断,完成对接口的自动化测试。当然我们还可以根据自己业务的需要,去封装获取你需要的数据的函数,以减少工作量。
经过上面我们封装的调用函数,结果处理函数,就可以通过java代码来完成对HTTP请求的API的调用,数据的获取等功能,下面我们实践一下:
public static void main( String[] args ){// Get接口调用String url="http://api.zhongchou.cn/deal/list";String params="?v=1";String apiresult=GetRequests(url,params);System.out.println("errno:"+GetJsonValue(apiresult,0,"errno"));//获取接口返回代码System.out.println("name:"+GetJsonValue(apiresult,3,"name"));//获取第三个项目的项目名称//Post接口调用String posturl="http://api.zhongchou.cn/user/login?v=1";Map map = new IdentityHashMap ();map.put("identity", "183****8905"); map.put("password", "**********"); String poresult=PostRequests(posturl,map,null);//获取登录的用户帐号昵称System.out.println("Name:"+GetJsonValue(poresult,1,"name"));}
接口返回值转成json相关推荐
- jmeter使用问题——将接口返回变量存储成csv文件
在使用jmeter做接口测试时,一整个jmx测试计划中,存在多个线程,多个接口的测试 但是接口可以分类,比如业务接口.查询接口.更新接口等 考虑自动化接口测试一般都是一次性的,有完整的闭环链路,一般步 ...
- (转)C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解
原文链接:https://www.cnblogs.com/landeanfen/p/5501487.html 阅读目录 一.void无返回值 二.IHttpActionResult 1.Json(T ...
- 文本过滤后返回空值_利用Fiddler来Mock接口返回值
前篇文章介绍了Mock测试的相关理论知识,今天就通过实战操作来演示一下如何通过Fiddler抓包工具来Mock接口返回值. 准备工作 准备一个服务端接口,可以自己用SpringBoot写一个简单的Re ...
- Postman 如何处理上一个接口返回值作为下一个接口入参?
今天做接口测试,有一个接口的参数是一个校验 token,会实时更新,开发提供了一个单独返回实时 token 的接口,所以就需要在功能接口使用时调用 token 接口的返回值,作为功能接口的参数来使用. ...
- PostMan接口参数化、接口返回值传递
1 接口参数化 第一步:点击右上角图标,打开环境配置页面,选择Globals,设置全局变量: 第二步:添加变量名称,设置对应的变量值,保存: 第三步:接口地址或者需要取值的参数value设 ...
- 为什么阿里巴巴Java开发手册中强制要求接口返回值不允许使用枚举?
在阅读<阿里巴巴Java开发手册>时,发现有一条关于二方库依赖中接口返回值不允许使用枚举类型的规约,具体内容如下: 在谈论为什么之前先来科普下什么是二方库,二方库也称作二方包,一般指公司内 ...
- 去除java接口返回值中含有的html、js、css标签,获取纯文字
现在在做政府网站,网站里有很多公开信息和政务咨询的新闻,现在需要做新闻的RSS订阅功能,其中有一项是需要处理文章页的内容.我们后台添加编辑文章使用的是编辑器,文章内容会带有很多html标签和css样式 ...
- Web API-如何将Controller的返回值转换成HTTP response消息
一个Web API 控制器方法可以返回以下类型的值 1.void 2.HttpResponseMessage 3.IHttpActionResult 4.其它一些类型 根据action不同的返回类型, ...
- postman上一接口返回值作为下一接口传参
1.第一个接口:①按照接口文档,编写第一个接口脚本:(接口返回productinfo字段) ②在Tests中获取productinfo接口,并设置成环境变量 //将数据解析成json格式 var da ...
最新文章
- 每个人都应该知道的25个大数据术语
- python读取excel一列-python读取excel(xlrd)
- WordCount by C# 结对编程
- 读取一个product全部数据的工具
- Qt中事件循环机制详解
- 检测和语义分割_分割和对象检测-第1部分
- Unity+MVC:实现IDependencyResolver接口需要注意的地方
- 总结几个字符串类的动态规划(最长公共子串,回文子串,子序列)
- Spring Boot细节挖掘(Redis的集成)
- 两个单片机iic通讯程序_PIC单片机之DS1302时钟
- 矩池云conda创建指定cuda cudnn tf版本的虚拟环境
- hibernate事务详解
- python函数的参数-可变参数,关键字参数
- web.config点滴:更改login控件对密码安全性的要求
- setdate java_在PreparedStatement中使用setDate
- miui v5 android版本,miuiv5主题下载-miuiv5主题(MiroEX) 安卓版v3.4.1-PC6安卓网
- chrome出现Provisional headers are shown
- 计算机if函数自动填充,Excel表格函数怎么能实现自动填充-excel填充函数,excel表格根据公式自动填充...
- 关于mysql的题目_关于MySQL的经典例题50道 答案参考
- linux pam limits.so,linux – 即使需要pam_limits.so,ulimit也不会读取打开文件描述符limits.conf设置...