当前位置: 首页 > news >正文

网站设计制作 联系郑州网站seo优化

网站设计制作 联系,郑州网站seo优化,专注南京网站建设,宁波网站建站REST Assured 系列汇总 之 REST Assured 61 - Deserialize Using JsonPath 介绍 早期我们有介绍 De-Serialization – JSON Object To Java Object Using Jackson API,同样我们也可以通过 JsonPath 来反序列化。 前提条件 默认 Rest Assured 是包括 JsonPath 依…

REST Assured 系列汇总 之 REST Assured 61 - Deserialize Using JsonPath

介绍

早期我们有介绍 De-Serialization – JSON Object To Java Object Using Jackson API,同样我们也可以通过 JsonPath 来反序列化。

前提条件

默认 Rest Assured 是包括 JsonPath 依赖库的。所以只要添加了 Rest Assured 依赖库,就没有必要再添加 JsonPath 依赖库了。

<!-- REST Assured -->
<dependency><groupId>io.rest-assured</groupId><artifactId>rest-assured</artifactId><version>4.4.0</version>
</dependency>

用 JsonPath 反序列化Deserialization

We will take a very simple JSON Object and will create a POJO for it.
将拿一个简单的 JSON Object 为例子,为它创建一个 POJO 类。

JSON Object

{"id": 1,"first_name": "Lothaire","last_name": "Benazet","email": "lbenazet0@tinyurl.com","gender": "Male"
}

Employee POJO

public class Employee {private Integer id;private String first_name;private String last_name;private String email;private String gender;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getFirst_name() {return first_name;}public void setFirst_name(String first_name) {this.first_name = first_name;}public String getLast_name() {return last_name;}public void setLast_name(String last_name) {this.last_name = last_name;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}
}

将一个 Java object 转换成一个 JSON Object 称为序列化 serialization, 反之是反序列化 Deserialization。JsonPath 类提供一个方法 “T getObject(String path, Class objectType)” 获取一个 Object 的 path 的结果作为一个 Java Object。

反序列化

import io.restassured.path.json.JsonPath;public class DeserializationUsingJsonPath {public static void main(String[] args) {String jsonObject = "{\r\n" + "  \"id\": 1,\r\n" + "  \"first_name\": \"Lothaire\",\r\n" + "  \"last_name\": \"Benazet\",\r\n" + "  \"email\": \"lbenazet0@tinyurl.com\",\r\n" + "  \"gender\": \"Male\"\r\n" + "}";JsonPath jsonPath = JsonPath.from(jsonObject);Employee employee = jsonPath.getObject("", Employee.class);System.out.println("Id is         : "+employee.getId());System.out.println("First name is : "+employee.getFirst_name());System.out.println("Last name is  : "+employee.getLast_name());System.out.println("Email id is   : "+employee.getEmail());System.out.println("Gender is     : "+employee.getGender());// Another wayEmployee employee1 = jsonPath.getObject("$", Employee.class);System.out.println("Id is         : "+employee1.getId());System.out.println("First name is : "+employee1.getFirst_name());System.out.println("Last name is  : "+employee1.getLast_name());System.out.println("Email id is   : "+employee1.getEmail());System.out.println("Gender is     : "+employee1.getGender());}}

输出:

Id is         : 1
First name is : Lothaire
Last name is  : Benazet
Email id is   : lbenazet0@tinyurl.com
Gender is     : Male
Id is         : 1
First name is : Lothaire
Last name is  : Benazet
Email id is   : lbenazet0@tinyurl.com
Gender is     : Male

JSON Array

上面例子用 “” 和 “ $ ” 作为 JSON path,可以得到一个简单的 JSON Object。如果是如下一个嵌套的 JSON Array,我们需要写一个适当的 JSON Path 来反序列化结果。

[{"id": 1,"first_name": "Lothaire","last_name": "Benazet","email": "lbenazet0@tinyurl.com","gender": "Male"
}, {"id": 2,"first_name": "Shellie","last_name": "Cowser","email": "scowser1@163.com","gender": "Female"
}]

如果我们只想反序列化上面 JSON Array 中第二个 JSON Object,实现代码如下:

import io.restassured.path.json.JsonPath;public class DeserializationUsingJsonPath {public static void main(String[] args) {String jsonObject = "[{\r\n" + "  \"id\": 1,\r\n" + "  \"first_name\": \"Lothaire\",\r\n" + "  \"last_name\": \"Benazet\",\r\n" + "  \"email\": \"lbenazet0@tinyurl.com\",\r\n" + "  \"gender\": \"Male\"\r\n" + "}, {\r\n" + "  \"id\": 2,\r\n" + "  \"first_name\": \"Shellie\",\r\n" + "  \"last_name\": \"Cowser\",\r\n" + "  \"email\": \"scowser1@163.com\",\r\n" + "  \"gender\": \"Female\"\r\n" + "}]";JsonPath jsonPath = JsonPath.from(jsonObject);Employee employee = jsonPath.getObject("[1]", Employee.class);System.out.println("Id is         : "+employee.getId());System.out.println("First name is : "+employee.getFirst_name());System.out.println("Last name is  : "+employee.getLast_name());System.out.println("Email id is   : "+employee.getEmail());System.out.println("Gender is     : "+employee.getGender());}}

输出:

Id is         : 2
First name is : Shellie
Last name is  : Cowser
Email id is   : scowser1@163.com
Gender is     : Female
http://www.lbrq.cn/news/2433439.html

相关文章:

  • 网站建设需要准备什么软件建立一个网站需要花多少钱
  • 做网站找云无限巩义网络推广公司
  • 上海做网站的的公司seo招聘
  • 网站建设能挣钱网站注册域名
  • 微信小程序怎么关闭未成年模式宁波谷歌seo推广公司
  • 做私彩网站产品软文范例软文
  • 哪些网站可以接工程做推广的十种方式
  • 一流的网站建设流程图推荐友情链接
  • 长沙哪里可以做网站网络营销论文
  • 做二手手机交易网站湖南seo公司
  • 最专业网站建设公司哪家好怎么开网站详细步骤
  • 网页设计与网站建设课程设计百度号码认证申诉平台
  • 软件网站怎么做潍坊网站建设解决方案
  • 免费制作公司网站重庆网站排名
  • 奇搜建设辽沈阳网站查权重网站
  • 济源网站制作营销方案ppt
  • 郑州网站建设方案服务公司培训网站源码
  • 事业单位网站建设计划网络营销推广的特点
  • 山东大良网站建设贵阳网站建设公司
  • 根据网站做app网络营销图片素材
  • 微商自己做网站海外域名
  • 有哪些可以做外链的网站百度入口官网
  • 天河区门户网站教育专栏微信腾讯会议
  • 做网站的 视频国内建站平台
  • 政府网站建设构想提升神马seo关键词自然排名
  • 做竞猜网站犯法吗无锡seo公司找哪家好
  • 网站霸词怎么做关键词优化和seo
  • 有哪些做留学资讯的网站乔拓云网站注册
  • 党建网站建设技术方案搜索引擎优化工作
  • zblog 仿wordpressseo基础
  • C#与WPF使用mvvm简单案例点击按钮触发弹窗
  • 【Android】xml和Java两种方式实现发送邮件页面
  • 华为服务器操作系统openEuler介绍与安装
  • C++性能优化擂台技术文章大纲
  • C语言-字符串数组
  • 用 STM32 的 SYSTICK 定时器与端口复用重映射玩转嵌入式开发