You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Jsonata获取键名含点的JSON字段值?

问题

需要从给定JSON响应的data数组中,提取每个日期对应的custom_activity.actitype_1AC8KLe2XghWuNlO93LMv5.count字段值。原Jsonata查询语句如下:

data. {
    "value": custom_activity.actitype_1AC8KLe2XghWuNlO93LMv5.count,
    "date": datetime
}

由于该字段键名包含点号,导致查询无法返回正确结果,且JSON结构由第三方提供无法修改,需寻求可行的Jsonata查询方案。

完整JSON响应示例:

{
    "aggregations": {
        "totals": {
            "custom_activity.actitype_1AC8KLe2XghWuNlO93LMv5.count": 87,
            "custom_activity.actitype_3hhepbDK50KhtrV9cnLTiN.count": 103,
            "custom_activity.actitype_3s8V7iv8ka6zFii5KVr8oF.count": 265,
            "custom_activity.actitype_3xec3f7Z3tP8fRo6l8mh00.count": 88,
            "custom_activity.actitype_4izlAyTeClOO50BLjHHC9F.count": 328,
            "custom_activity.actitype_4nTymVIz4li2swFSUIQCjB.count": 70,
            "custom_activity.actitype_6sq5Xno7A5Oi7zWimxWSdx.count": 39
        }
    },
    "data": [{
        "custom_activity.actitype_1AC8KLe2XghWuNlO93LMv5.count": 0,
        "custom_activity.actitype_3hhepbDK50KhtrV9cnLTiN.count": 0,
        "custom_activity.actitype_3s8V7iv8ka6zFii5KVr8oF.count": 7,
        "custom_activity.actitype_3xec3f7Z3tP8fRo6l8mh00.count": 0,
        "custom_activity.actitype_4izlAyTeClOO50BLjHHC9F.count": 11,
        "custom_activity.actitype_4nTymVIz4li2swFSUIQCjB.count": 0,
        "custom_activity.actitype_6sq5Xno7A5Oi7zWimxWSdx.count": 0,
        "datetime": "2024-01-01T00:00:00+00:00"
    }, {
        "custom_activity.actitype_1AC8KLe2XghWuNlO93LMv5.count": 3,
        "custom_activity.actitype_3hhepbDK50KhtrV9cnLTiN.count": 3,
        "custom_activity.actitype_3s8V7iv8ka6zFii5KVr8oF.count": 34,
        "custom_activity.actitype_3xec3f7Z3tP8fRo6l8mh00.count": 3,
        "custom_activity.actitype_4izlAyTeClOO50BLjHHC9F.count": 27,
        "custom_activity.actitype_4nTymVIz4li2swFSUIQCjB.count": 0,
        "custom_activity.actitype_6sq5Xno7A5Oi7zWimxWSdx.count": 0,
        "datetime": "2024-01-02T00:00:00+00:00"
    }, {
        "custom_activity.actitype_1AC8KLe2XghWuNlO93LMv5.count": 10,
        "custom_activity.actitype_3hhepbDK50KhtrV9cnLTiN.count": 5,
        "custom_activity.actitype_3s8V7iv8ka6zFii5KVr8oF.count": 12,
        "custom_activity.actitype_3xec3f7Z3tP8fRo6l8mh00.count": 3,
        "custom_activity.actitype_4izlAyTeClOO50BLjHHC9F.count": 20,
        "custom_activity.actitype_4nTymVIz4li2swFSUIQCjB.count": 6,
        "custom_activity.actitype_6sq5Xno7A5Oi7zWimxWSdx.count": 2,
        "datetime": "2024-01-03T00:00:00+00:00"
    }]
}
解决方案

在Jsonata中,当字段键名包含点号等特殊字符时,需要用方括号+引号或$."字段名"的语法来访问,避免解析错误。修改后的查询语句如下:

data. {
    "value": $."custom_activity.actitype_1AC8KLe2XghWuNlO93LMv5.count",
    "date": datetime
}

说明

  • $."字段名"的语法可以正确引用包含特殊字符的键名,其中$代表当前上下文的对象(即data数组中的每个元素)。
  • 该查询会遍历data数组的每个元素,提取对应日期和目标字段的值,返回结果结构如下:
[
  {
    "value": 0,
    "date": "2024-01-01T00:00:00+00:00"
  },
  {
    "value": 3,
    "date": "2024-01-02T00:00:00+00:00"
  },
  {
    "value": 10,
    "date": "2024-01-03T00:00:00+00:00"
  }
]

内容的提问来源于stack exchange,提问作者Sandeep Dhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:47:03