https://paw.cloud/
我有以下 JSON 从不同的 API 端点返回:
[
{
"id": 1,
"name": "BigCartel",
"slug": "bigcartel",
"logo_cdn_url": "http://placehold.it/200x200",
"active": true,
"authentication_type": {
"description": "Oauth Authentication Token",
"slug": "oauthauthenticationtoken"
}
},
{
"id": 2,
"name": "Lightspeed Retail",
"slug": "lightspeed_retail",
"logo_cdn_url": "http://placehold.it/200x200",
"active": true,
"authentication_type": {
"description": "Oauth Authentication Token",
"slug": "oauthauthenticationtoken"
}
}
]
我想解析这个 JSON 并在 paws 应用程序的另一部分中使用它。有没有人发现任何这样的例子?我正在尝试自定义 JS 文本,但这似乎是一个死胡同。
请您参考如下方法:
解决方案一:jq
根据他们的网站,“jq 是一个轻量级且灵活的命令行 JSON 处理器”。您可以在 Paw 中进行 jq 查询。我们将使用它自动从您的最新回复中提取该字段的 ID。
在 URL 字段(您希望拥有此“智能 ID”的位置)上,右键单击并选择“jq JSON 处理器”。
在“JQ args”字段中,输入查询(参见 jq tutorial for details on how this works):.[] | select(.slug == "bigcartel") | .id
在 JSON 输入字段中,右键单击并选择 Response > Response Raw Body。将打开一个弹出窗口,将“请求”字段指向您要从中提取响应正文的请求(您的“列表”请求)。这将自动获取此请求的最新响应的正文。
全部做完!你现在应该有这个设置:
解决方案 2:JavaScript 代码段
Paw 公开 JavaScript 绑定(bind)以编写扩展(例如,上面使用的 jq 动态值被编写为扩展)。它还可以用于在请求中嵌入小代码片段。这有助于实现更高级的设置。
右键单击需要插入 ID 的 URL 字段。选择扩展 > JS 脚本。在弹出窗口中,粘贴以下代码:
function evaluate(context){
var request = context.getRequestByName("List");
var httpExchange = request.getLastExchange();
var body = JSON.parse(httpExchange.responseBody);
for (var i = 0; i < body.length; i++) {
var member = body[i];
if (member.slug == "bigcartel") {
return member.id;
}
}
return null;
};
您可以在 Paw documentation 中找到 Paw 公开的这个 JavaScript API 的文档。在底部的“API 引用”部分下。