在 Postman 中解析嵌套的“命名”对象

问题描述

我第一次尝试解析 Postman 测试中返回的 JSON 数据,但我的有效负载的复杂性导致了解析问题:我如何才能进入“stage-guid”字段

{
    "Workflow": {
        "com.mycom.MyWorkflow": {
            "id": 10,"stages": [
                {
                    "com.mycom.MyStage": {
                        "id": 22,"stage-guid": "00000000-0000-1111-1111-123456789012",

以下内容让我进入了 Workflow 对象,但我还没有弄清楚如何访问 com.mycom.MyWorkflow 对象。

        var responseInjson = pm.response.json(); 
        var workFlowData = responseInjson.Workflow;
        console.log("in workflow",workFlowData);

我已经尝试过 workflowData.id、workflowData.object.id、workflowData.Object.id、workflowData[pm.variables.get("stage-guid")] 但测试用例永远不会超出这些(不正确的)访问尝试.

解决方法

您需要走下结构以获得所需的值。由于有对象和数组需要导航,您需要正确引用它们。

您还有属性名称中包含 dotsdashes,因此您需要混合使用点和括号符号来正确引用它们。

这应该在控制台中记录该指南值:

let responseInJson = pm.response.json(),workFlowData = responseInJson.Workflow["com.mycom.MyWorkflow"].stages[0]["com.mycom.MyStage"]["stage-guid"];

console.log(workFlowData);