java - 使用json解析Java测试数据处理
问题描述
在我们的自动化框架中,我们正在处理 JSON 文件中的测试数据。下面是示例文件
{
"Sheet1": [
{
"id": "1",
"firstname": "test",
"lastname": "last",
"email": "jpenddreth0@census.gov",
"gender": "female",
"ip_address": "26.58.193.2"
},
{
"id": "2",
"firstname": "test2",
"lastname": "last2",
"email": "gfrediani1@senate.gov",
"gender": "male",
"ip_address": "229.179.4.212"
}
]
}
首先,我们将 JSON 文件转换为 MapObject,我们将从地图中读取数据。
def getObjectKeyValueInTheMapList(fileName,objectName,key) {
def keyValue = []
Map jsonMap = new LinkedHashMap()
jsonMap = converJsonToMapObject(fileName)
def getKey = jsonMap.get(objectName)
}
获取密钥返回
[[email:jpenddreth0@census.gov, firstname:test, gender:female, id:1, ip_address:26.58.193.2, lastname:last], [email:gfrediani1@senate.gov, firstname:test2, gender:male, id:2, ip_address:229.179.4.212, lastname:last2]]
从上面的地图,我怎样才能得到email
关键值id =1
即如果id = 1
那时我想阅读email / firstname /lastname
解决方案
您有一个地图列表,目标是找到带有
id==1
. 如果您必须更频繁地执行此操作,那么最好的方法是以更好的方式塑造您的数据,以便通过id
.
id
例如,使用类似的东西建立用户地图
def usersById = data.collectEntries{ [it.id, it] }
然后usersById[1]
会给你的地图id==1
。
推荐阅读
- react-native - 反应原生多图像裁剪器
- data-structures - 图的数据结构
- python - 追加是相乘而不是只取两个
- c - 这个 C 程序中的“else if”条件有什么问题?
- robotframework - Robot框架中的排序或反向列表
- ms-media-foundation - Media Foundation Source Reader:视频时间戳每 N 个样本增加 16 毫秒
- vba - 处理空的组合框
- python - 如何从 python 中的多个数据帧创建单个数据帧?
- node.js - 有没有办法在没有 10 秒的加载时间的情况下使用状态代码 401 处理 useQuery 反应?
- react-native - 在本机反应中同时按下按钮