JsonPath根据语法基础表达式解析Json数据来进行接口测试的断言判断


1
package Common; 2 3 import com.jayway.jsonpath.JsonPath; 4 5 public class JsonAssert { 6 7 public static void main(String[] args) { 8 String json = "{\"code\":200,\"data\":{\"roleList\":[{\"roleCode\":\"administrator\",\"roleName\":\"系统管理员\",\"roleType\":0,\"userId\":1},{\"roleCode\":\"ChengjiaSignetAdmin\",\"roleName\":\"印章管理员(诚加)\",\"roleType\":0,\"userId\":1},{\"roleCode\":\"SignetAdmin-CX\",\"roleName\":\"印章管理员(创喜)\",\"roleType\":0,\"userId\":1},{\"roleCode\":\"SignetAdmin-XM\",\"roleName\":\"印章管理员(项目)\",\"roleType\":0,\"userId\":1}],\"siDeptBean\":{\"code\":\"08\",\"corptionid\":\"MORG2017051178\",\"createdate\":\"2017-05-23 00:00:00\",\"depttype\":\"0\",\"enablestate\":\"2\",\"id\":44981,\"ishrcancel\":\"N\",\"mdmCode\":\"MAGDEPT201705007580\",\"mdmCreatedon\":\"2017-05-23 15:44:15\",\"mdmPk\":\"0001H210000000B12SC6\",\"mdmSeal\":0,\"name\":\"信息管理中心\",\"pkDepartmentid\":\"1001H2100000026M3E5F\",\"pkPsndoc\":\"PD160701000498\",\"ts\":\"2018-03-24 10:00:44\"},\"siOrgBean\":{\"code\":\"3012405\",\"constructiontime\":\"2014-12-02 10:17:35\",\"fatherorgnization\":\"0001H2100000000023XT\",\"id\":97,\"mdmCode\":\"MORG2015070819\",\"mdmCreatedon\":\"2014-12-02 10:17:35\",\"mdmPk\":\"0001H21000000000NUJ7\",\"mdmSeal\":0,\"name\":\"荔城物业服务分公司(豪园)\",\"organizationid\":\"0001H2100000000024FN\",\"principal\":\"PD150706019317\",\"shortname\":\"荔城物业服务分公司(豪园)\",\"ts\":\"2018-09-14 23:10:10\"},\"siUserBean\":{\"belongAreaOrg\":\"\",\"code\":\"admin\",\"enablestate\":\"Y\",\"id\":1,\"isgeneratead\":\"Y\",\"isturnover\":\"N\",\"leavedate\":\"2016-05-05 00:00:00\",\"mdmCode\":\"US111111111111\",\"mdmCreatedon\":\"2014-12-07 22:02:55\",\"mdmPk\":\"0001H210000000007ADG\",\"mdmSeal\":0,\"mobile\":\"13711663537\",\"name\":\"系统管理员\",\"passwd\":\"8a6ecc606878daeef7570a8b4fd26740\",\"pkDept\":\"MAGDEPT201705007580\",\"pkOrg\":\"MORG2015070819\",\"pkPsndoc\":\"PD150710095238\",\"pkUsertype\":\"1001H9100000003N3E77\",\"postname\":\"三级环境管理员\",\"siteno\":\"2014021017\",\"ts\":\"2016-12-02 08:57:02\"},\"userId\":1,\"userName\":\"系统管理员\"},\"success\":true}"; 9 String expression = "$.data.roleList[0].roleCode"; 10 String expression1 = "$.success"; 11 String expression2 = "$.success"; 12 String expression3 = "$.data.siUserBean.name"; 13 JsonAssert jsonAssert = new JsonAssert(); 14 System.out.println(jsonAssert.jsonPath(json,expression)); 15 System.out.println(jsonAssert.jsonPath(json,expression1)); 16 System.out.println(jsonAssert.jsonPath(json,expression3)); 17 18 } 19 20 public String jsonPath(String json,String expression){ 21 String getValue = JsonPath.read(json,expression).toString(); 22 23 if(getValue.contains("[")){ 24 getValue=getValue.substring(getValue.indexOf("[")+1,getValue.length()-1); 25 } 26 return getValue.replaceAll("\"",""); 27 } 28 }

 语法表:

 接口测试,获取到json格式的数据后,通过解析式获取到特定的断言判断实际值

 

转载于:https://www.cnblogs.com/kasen95/p/9798066.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值