我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何在Katalon Studio中解析JSON响应

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何在Katalon Studio中解析JSON响应

JSON响应示例

假设我们有以下JSON响应,并且我们想要解析和检索其数据:

{
  “menu”:{
    “id”:“文件”,
    “工具”:{
      “行动”:[
        {
          “id”:“新”,
          “标题”:“新文件”
        },
        {
          “id”:“开放”,
          “标题”:“打开文件”
        },
        {
          “id”:“关闭”,
          “标题”:“关闭文件”
        }
      ]
      “错误”:[]
    }
  }
}

JsonSlurper

我们使用这个Groovy助手类来解析JSON字符串。我们需要创建一个JsonSlurper的新实例并调用JsonSlurper.parseText方法。示例代码:

导入 groovy。杰森。JsonSlurper

String  jsonString  =  '''{“menu”:{
“id”:“文件”,
“工具”:{
“行动”:[
{“id”:“new”,“title”:“New File”},
{“id”:“打开”,“标题”:“打开文件”},
{“id”:“关闭”,“标题”:“关闭文件”}
]
“错误”:[]
}}} ''”
JsonSlurper  slurper  =  新的 JsonSlurper()
映射 parsedJson  =  slurper。parseText(jsonString)
导入 groovy。杰森。JsonSlurper

String  jsonString  =  '''{“menu”:{
“id”:“文件”,
“工具”:{
“行动”:[
{“id”:“new”,“title”:“New File”},
{“id”:“打开”,“标题”:“打开文件”},
{“id”:“关闭”,“标题”:“关闭文件”}
]
“错误”:[]
}}} ''”
JsonSlurper  slurper  =  新的 JsonSlurper()
映射 parsedJson  =  slurper。parseText(jsonString)

解析后的JSON响应现在存储在一个名为parsedJson的变量中(在我们的例子中,它是Map数据结构,但有时它可能是其他的)。

JsonSlurper还提供了几个JsonSlurper。解析重载方法,如果您的JSON输入是File,Reader,InputStream,String以外的URL,则可以使用这些方法。有关详细信息,请参阅JsonSlurper文档。

获得关键价值

假设您想从上面的JSON响应中获取id值。JSON是一个结构化文档,因此您可以使用其绝对路径获取任何元素。看这个例子:

String  idValue  =  parsedJson。菜单。ID
String  idValue2  =  parsedJson。得到(“菜单”)。得到(“id”)

如您所见,有两种方法可以获得它。一种是使用点表示法(。)访问Map对象。另一种方法是使用Map,List和Set中的get方法,就像在Java中一样。

基本上,parsedJson变量是Map <String,Map <Object,Object»的一种类型。然后,要获取内部Map,请调用parsedJson。get(“menu”) - 因为“menu”是String键。此方法返回内部Map,您可以在其上调用其他get方法,直到找到密钥。

验证JSON中是否存在密钥

如果要验证JSON响应中是否存在选定的密钥,可以使用类似的代码,如下所示:

进口 com。公里。卡塔隆。核心。util。KeywordUtil

String  getSelectedKey  =  parsedJson。菜单。ID

if(getSelectedKey  ==  null){
KeywordUtil。markFailed(“Key not present”)
}
这 是 一个 简单的 检查 为 空 -  如果 在 给定的 关键 是 没有 找到,空 时 返回。但是, 有 是 一个 特殊的 情况下 ,当 这个 代码 赢得“T工作,也就是说,如果关键的‘ID’有null值在你的JSON。对于这种情况,您应该使用更强大的代码:
boolean  isKeyPresent  =  parsedJson。得到(“菜单”)。keySet()。包含(“id”)

if(!isKeyPresent){
KeywordUtil。markFailed(“Key not present”)
}

您从“菜单”对象中获取所有键,然后检查它是否包含您要查找的键。

获取数组元素

您的JSON响应也可能包含数组。与Java或Groovy中的任何数组一样,您可以使用arrayName [index]访问数组元素

例如,我们可以获得“actions”数组中第一个对象的“title”值,如下所示:

String  idValue  =  parsedJson。菜单。工具。行动 [ 0 ]。标题
String  idValue2  =  parsedJson。得到(“菜单”)。得到(“工具”)。得到(“行动”)。得到(0)。得(“标题”)

在此示例中,我们访问索引为0的项,即数组中的第一项(索引从零开始)。

基于某种条件获取数组元素

更常见的情况是,您希望根据某些特定条件获取确切的数组元素。例如,您获得“id”为“Open”的对象的“title”值。你可以这样做:

def  array1  =  parsedJson。菜单。工具。行动

字符串 onlickValue1  =  “”

for(def  member:array1){
如果(构件。ID  ==  '打开'){
onlickValue1  =  成员。标题
打破
}
}

在这种情况下,我使用了for-each循环。此循环检查数组array1中的每个项目,直到满足条件。如果是这样,则将onlickValue1指定给项目的标题。

JSON数据类型

JSON格式支持一些数据类型,如String,number,Boolean和null。如果您不确定数据类型是什么,可以使用关键字def

def  myVar  =  '从json获取值'。

根据经验,String值用引号括起来,数字不加引号(浮点也可能存在),布尔值为true或false。但是当你不确定它的类型时,使用def初始化变量总是一个不错的选择。

结论

本教程提供了一些在Katalon Studio中使用JSON字符串的基本最佳实践。JSON是API / Web服务返回的最常见格式。当您执行API测试时您可能必须处理JSON响应。希望这些基本最佳实践对您的API测试很有用。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何在Katalon Studio中解析JSON响应

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在Katalon Studio中解析JSON响应

JSON响应示例假设我们有以下JSON响应,并且我们想要解析和检索其数据:{ “menu”:{ “id”:“文件”, “工具”:{ “行动”:[ { “id”:“新”,
2023-06-02

如何在Android应用中对json数据进行解析

这篇文章将为大家详细讲解有关如何在Android应用中对json数据进行解析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、android自带解析 json_btn.setOnClickL
2023-05-31

如何在 PHP 中解析 JSON 文件

在本文中,我们将介绍在 PHP 中解析 JSON 文件的方法。使用 file_get_contents() 函数示例代码中使用的 JSON 文件的内容如下。[{"id": "01","name": "Olivia Mason","desig
如何在 PHP 中解析 JSON 文件
2024-02-27

如何在python中解析json文件

本篇文章为大家展示了如何在python中解析json文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能
2023-06-14

如何在php中解析json数据

如何在php中解析json数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源
2023-06-14

如何在Android项目中解析 json数据

今天就跟大家聊聊有关如何在Android项目中解析 json数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Android json数据解析详解移动开发经常要与服务器数据交互,也
2023-05-31

Go:如何传递 JSON 响应而不解组它

大家好,我们又见面了啊~本文《Go:如何传递 JSON 响应而不解组它》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~问题内容
Go:如何传递 JSON 响应而不解组它
2024-04-05

Android应用中如何解析获取的json数据

这篇文章将为大家详细讲解有关Android应用中如何解析获取的json数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。第一步:根据指定的URL从google 服务器上获得包含地址的json
2023-05-31

如何解析Vue3的响应式原理

本篇文章给大家分享的是有关如何解析Vue3的响应式原理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Vue2响应式原理回顾// 1.对象响应化:遍历每个key,定义getter
2023-06-22

Ajax中如何解析json格式数据

在Ajax中,可以使用`JSON.parse()`方法来解析JSON格式的数据。示例代码如下:```javascriptvar xmlhttp = new XMLHttpRequest();xmlhttp.onreadystatechang
2023-09-04

PHP中如何处理JSON解析错误?

PHP中如何处理JSON解析错误?JSON(JavaScript Object Notation)是一种常用的数据交换格式,用于存储和传输数据。在PHP中,我们经常使用内置的函数json_decode()将JSON字符串解析为PHP对象或数
PHP中如何处理JSON解析错误?
2023-12-09

lambda表达式如何在Android Studio应用中使用

本篇文章为大家展示了lambda表达式如何在Android Studio应用中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。根目录下gradle文件配置buildscript { reposi
2023-05-31

如何在 Go 中使用正则表达式解析 JSON 日期?

如何使用正则表达式解析 json 日期?使用正则表达式 "^(\d{4})-(\d{2})-(\d{2})t(\d{2}):(\d{2}):(\d{2})(.\d+)?z$" 匹配格式为 "yyyy-mm-ddthh:mm:ss.mmmz"
如何在 Go 中使用正则表达式解析 JSON 日期?
2024-05-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录