如何评估 json 中 key 中的 JSONata 表达式?

问题描述 投票:0回答:1

我想评估 AWS Step 函数中 key 中的 jsonata 表达式。我试过这个:

{
  "ApplicationId": "ID",
  "SendUsersMessageRequest": {
    "MessageConfiguration": {
      "GcmMessage": {
        "Action": "OPEN_APP",
        "Title": "Order completed!",
        "SilentPush": false,
        "Sound": "default",
        "Body": "Your order is completed successfully.",
        "Data": {
          "orderId": "{% $order.id.S %}",
          "status": "COMPLETED"
        }
      }
    },
    "Users": {
      "{% $order.userId.S %}": {}
    }
  }
}

表达式

{% $order.userId.S %}
未计算为实际值,而是将其作为字符串获取。我该如何解决这个问题,以便在键中评估实际值?

订购:

{
  "order": {
    "id": {
      "S": "d7ea32bf-5dac-45a8-b924-b7752e7d8b09"
    },
    "userId": {
      "S": "11fb0540-20d1-707a-ac85-dcfbe06bad57"
    },
    "status": {
      "S": "COMPLETED"
    }
  }
}

预期输出:

{
  "ApplicationId": "ID",
  "SendUsersMessageRequest": {
    "MessageConfiguration": {
      "GcmMessage": {
        "Action": "OPEN_APP",
        "Title": "Order completed!",
        "SilentPush": false,
        "Sound": "default",
        "Body": "Your order is completed successfully.",
        "Data": {
          "orderId": "d7ea32bf-5dac-45a8-b924-b7752e7d8b09",
          "status": "COMPLETED"
        }
      }
    },
    "Users": {
      "11fb0540-20d1-707a-ac85-dcfbe06bad57": {}
    }
  }
}
json aws-step-functions jsonata
1个回答
0
投票

我相信你需要在

.
$
之间添加
order
,如下所示:

"{% $.order.userId.S %}": {}

链接到 JSONata Playground:https://jsonatastudio.com/playground/5d6a1a0b

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.