Jmeter-解析返回参数-解析并操作json

工作中经常会遇到JSON字符串,接口的入参和返回参数也多数是JSON格式,自动化项目中常需要写脚本处理返回结果,本文总结java或jmeter的beanshell脚本中对于json的常用操作

json字符串的格式

  1. 简单的JSON字符串:{“key”:“value”,“key”:“value”…} 如:{“id”:“1001”,“name”:“晓春”,“sex”:“男”}

  2. JSON数组:[{“key”:“value”,“key”:“value”…},{},{}] 如:“data”:[{“id”:“1001”,“name”:“晓春”,“sex”:“男”},{“id”:“1002”,“name”:“小李”,“sex”:“男”}]

  3. 复杂的JSON字符串:值本身还是一个json字符串, 如:{“id”:“1001”,“name”:“晓春”,“sex”:“男”,“hobby”:{“hobby1”:“游泳”,“hobby2”:“打篮球”}},我们能够发现hobby对应的值依旧是一个json字符串({“hobby1”:“游泳”,“hobby2”:“打篮球”})

JSON字符串的解析方式

  1. 对于以上第一种格式的使用 get(“id”)能拿到1001
  2. 对于以上第二种格式的使用 getJSONArray(“data”)能拿到json数组:[{“id”:“1001”,“name”:“晓春”,“sex”:“男”},{“id”:“1002”,“name”:“小李”,“sex”:“男”}]
  3. 对于以上第三种格式的使用 getJSONObject(“hobby”)能拿到json对象:{“hobby1”:“游泳”,“hobby2”:“打篮球”}

注意jmeter中打印要转换成string
示例代码:

import org.json.JSONObject;
import org.json.JSONArray;
String content = "{'students':[{'stu_id':'1001','stu_name':'十一郎'},"+ "{'stu_id':'1002','stu_name':'十二郎'}],'flag':'1',"+ "'teacher':{'tea_id':'2001','tea_name':'晓春'}}";
//将string转为json
JSONObject json_content = new JSONObject(content);//json中嵌套的json要用getJSONObject(); list要用getJSONArray(); 一级key直接用get("key")来拿到value
JSONArray studentsData = json_content.getJSONArray("students");
String teacherData = json_content.getJSONObject("teacher").toString();
String teaId = json_content.getJSONObject("teacher").get("tea_id").toString();
log.info("这是studentsData:"+studentsData);
log.info("这是teacherData:"+teacherData);
log.info("这是teaId:"+teaId);//循环studentsDataArray
for(int i=0; i<studentsData.length(); i++){String stuId = studentsData.get(i).get("stu_id").toString();String stuName = studentsData.get(i).get("stu_name").toString();log.info(stuId);log.info(stuName);
}

打印结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/645267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【服务器数据恢复】EqualLogic存储磁盘坏道导致存储不可用的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 某公司IT部门一台某品牌EqualLogic PS6100系列存储在运行过程中突然崩溃。 服务器管理员对故障服务器存储进行初步检查&#xff0c;经过检测发现导致该服务器存储无法正常工作的原因是该存储中raid5磁盘阵列内有2块硬盘出现故障离线&a…

数字图像处理(实践篇)二十七 Python-OpenCV 滑动条的使用

目录 1 涉及的函数 2 实践 1 涉及的函数 ⒈ setWindowProperty()用于设置GUI应用程序的属性 cv2.setWindowProperty(windowsName, prop_id, prop_value) 参数: ①

ubuntu 挂载磁盘

Linux(ubuntu) 挂载磁盘_ubuntu挂载硬盘-CSDN博客 ls -l /dev/disk/by-uuid/sudo vim /etc/fstab UUID269cfb7f-d7eb-4b1c-b33a-8bf26b878bd7 /home/mi/data ext4 defaults 0 0 UUIDcaa7d4db-82d1-40a5-8df6-0f77818b393e /home/mi/ssd ext4 default…

UI 自动化测试框架:PO 模式+数据驱动

1. PO 设计模式简介 什么是 PO 模式&#xff1f; PO&#xff08;PageObject&#xff09;设计模式将某个页面的所有元素对象定位和对元素对象的操作封装成一个 Page 类&#xff0c;并以页面为单位来写测试用例&#xff0c;实现页面对象和测试用例的分离。 PO 模式的设计思想与…

Nodejs--Linux环境安装及配置

一、下载安装包 &#xff08;1&#xff09;通过命令uname -a 查看Linux系统版本。 &#xff08;2&#xff09;打开官网下载地址&#xff1a; https://www.nodejs.com.cn/ 选择对应的版本下载安装包。 &#xff08;3&#xff09;将下载好的安装包传到Linux对应目录进行解压。…

想要透明拼接屏展现更加效果,视频源是技术活,尤其作为直播背景

随着科技的飞速发展&#xff0c;视频制作和显示技术也在不断进步。透明拼接屏视频作为一种新型的视频形式&#xff0c;在许多场合都得到了广泛的应用。尼伽小编将深入探讨透明拼接屏视频的制作过程、要求、清晰度&#xff0c;以及目前常作为直播背景的优势。 一、透明拼接屏视频…

【自然语言处理】【深度学习】NLP中的N-gram理解

N-gram是自然语言处理&#xff08;NLP&#xff09;中的一个概念&#xff0c;它描述的是文本中连续的n个项&#xff08;通常是单词或字符&#xff09;。这个概念主要用于语言建模和文本分析中。 具体来说&#xff1a; Unigram (1-gram): 包含一个单词的序列&#xff0c;例如句子…

力扣hot100 两两交换链表中的节点 双指针

Problem: 24. 两两交换链表中的节点 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { …

国民技术N32G430C8开发笔记二-UART驱动开发

参考demo E:\tfs\data\smartsafe\N32G430\Nations.N32G430_Library.1.0.0\projects\n32g430_EVAL\examples\USART\Interrupt开发uart1和uart3驱动。Uart1用于通信&#xff0c;uart3用于调试。 参考用户手册5.2.5复用功能。Uart1_tx引脚使用PA9&#xff0c;重映射使用AF5&#x…

Flink状态应用测试程序示例

Flink状态应用测试程序示例 1. 创建执行环境 // 1. 创建执行环境StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1); 2. 创建数据流 // 2. 创建数据流DataStream<Tuple2<String, Integer>> inputSt…

SpringMVC第二天

今日内容 能够掌握SSM整合的流程 能够编写SSM整合功能模块类 能够使用Result统一表现层响应结果 能够编写异常处理器进行项目异常 能够完成SSM整合前端页面发送请求实现增删改查操作 能够编写拦截器并配置拦截器 一、SSM整合【重点】 1 SSM整合配置 问题导入 请描述“SSM整…

加速应用开发:低代码云SaaS和源码交付模式如何选

随着数字化转型的加速&#xff0c;企业对于快速开发和交付高质量应用的需求也越来越迫切。为了满足这一需求&#xff0c;开发者们开始探索采用低代码平台进行软件开发工作&#xff0c;以加速应用开发过程。 目前&#xff0c;市场上的低代码产品众多&#xff0c;但基本可分为简单…

黑马Java——面向对象进阶(static继承)

1.static静态变量 静态变量是随着类的加载而加载的&#xff0c;优先与对象出现的

大模型面试题总结

文章目录 一、大模型(LLMs)基础面二、大模型(LLMs)进阶面三、大模型(LLMs)微调面四、大模型(LLMs)langchain面1. 基于LLM+向量库的文档对话 基础面2. 基于LLM+向量库的文档对话 优化面3. LangChain的概念面试问题4.LangChain的一些模块提问5.LangChain的业务提问6.Lang…

写一份简单的产品说明书:格式和排版建议

现在的市场竞争那么激烈&#xff0c;拥有一份简洁明了的产品说明书可以说是很重要的。产品说明书不仅向用户提供了对产品的详细了解&#xff0c;还能够树立品牌形象&#xff0c;提升用户体验。 | 一、写一份简单的产品说明书—一些建议 1.创意封面设计 一个吸引人的封面设计能…

Kong工作原理 - 代理参考 (Proxy Reference)

在本文档中&#xff0c;我们详细介绍了Kong Gateway的代理功能&#xff0c;包括其路由能力和内部工作原理。 Kong Gateway提供了一些接口&#xff0c;可以通过以下配置属性进行调整&#xff1a; proxy_listen&#xff0c;定义了Kong Gateway将接受来自客户端的公共HTTP&#…

#Uniapp:map地图组件

示例 <map class"map" :latitude"mapOptions.latitude" :longitude"mapOptions.longitude" :scale"mapOptions.scale" :markers"mapOptions.markers"></map>mapOptions: {longitude: 108.95, // 中心经度latit…

uniapp 用web-view嵌套网页地址并传参

小程序登陆后把token和openId 对应传到pc端 pc端有两套一套pc端代码和适应移动端的代码 嵌套的是适应移动端的代码 1.uniapp <template><view class"main"><u-navbar :fixed"true" :autoBack"false" leftClick"goBack&quo…

Day44 动态规划part06 完全背包理论基础 518. 零钱兑换 II 377. 组合总和 Ⅳ

动态规划part06 完全背包理论基础 518. 零钱兑换 II 377. 组合总和 Ⅳ 完全背包理论基础 acm可运行代码&#xff08;先遍历物品再遍历背包&#xff0c;一维dp&#xff09; #include<iostream> #include<vector> using namespace std;int Solution(vector<int…

Spring框架与反射

Spring框架是Java开发中广泛使用的一个强大且全面的框架&#xff0c;它在其核心和各个组件中大量利用了Java反射机制。反射在Spring中的应用主要体现在依赖注入、数据绑定、AOP&#xff08;面向切面编程&#xff09;等方面。 1. 依赖注入&#xff08;Dependency Injection&…