热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在邮递员中解析JSON数组

我有一些从Postman发出的请求以JSON形式返回的Response主体数据。示例:{

我有一些从Postman发出的请求以JSON形式返回的Response主体数据。

示例:

{
"targets": {
"@uri": "/api/space/tag-management/tags/98304/targets","target": [
{
"@type": "vnd.net.juniper.space.device-management.device","@uri": "/api/space/tag-management/tags/98304/targets/98328","@href": "/api/space/device-management/devices/196657"
},{
"@type": "vnd.net.juniper.space.device-management.device","@uri": "/api/space/tag-management/tags/98304/targets/98329","@href": "/api/space/device-management/devices/196656"
},"@uri": "/api/space/tag-management/tags/98304/targets/98330","@href": "/api/space/device-management/devices/196655"

我一直试图从此数据中仅获取设备ID。
每个块都是一个设备。
@href末尾的数字值为设备ID-/ devices / 196655

我环顾四周,但对这方面的理解不足以解决我的问题。

我已经尝试过以下代码块:

var jsOnData= pm.response.json();
var results = [];
for (var i = 0; i var counter = jsonData.targets.target[i]['@href'].split(‘/‘);
results.push(counter[counter.length - 1]);
}
pm.environment.set("DeviceID",results.join(‘,’));

更新:

我找到了使用lodash的解决方案,但是在邮递员中调用该变量时遇到了麻烦。可能是客户端使用问题(我的错),而不是代码方面的问题。

这是我用来解决此问题的代码。

let body = pm.response.json().targets.target,ids = _.map(body,(id) => id['@href'].split("/")[5]);
pm.globals.set("DeviceID",ids)

此后,它将数据按我的需要放入一个全局变量中。

在邮递员中解析JSON数组

编辑:这是我遇到的新问题。
邮递员似乎无法在我的下一个请求的正文中识别出我的{{DeviceID}}变量调用。

在邮递员中解析JSON数组


在第二行中,您尝试解析json,但是第一行将响应设置为json,因此行to不必要。

如果您使用第一个代码块,但删除第二行并获得for循环使用响应,则它应该可以工作。

var jsOnData= pm.response.json();
var results = [];
for (var i = 0; i var counter = jsonData.targets.target[i][“@href”].split(‘/‘);
results.push(counter[counter.length - 1]);
}
// use me
// results.join(‘,’);

,

这是解决我问题的代码。

let body = pm.response.json().targets.target,ids = _.map(body,(id) => id['@href'].split("/")[5]);
pm.globals.set("DeviceID",ids)

还有另一个问题,那就是我体内没有填充全局变量,发现我有一个同名的环境变量和全局变量。

删除了Env var,问题已解决。


推荐阅读
author-avatar
我的惟一fd
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有