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

Newtonsoft.Json中JsonPath实现的乘积查询问题求助

解决Newtonsoft.Json中JsonPath无法计算乘积的问题

Newtonsoft.Json的JsonPath实现和jsonpath.com采用的规范不同,它不支持在查询语句中进行算术运算、赋值操作,也无法直接返回运算结果——它只能提取或筛选JSON中已存在的节点。针对你的场景,有两种可行方案:

方案1:手动添加计算后的属性到原始JSON(如果UI允许编辑输入)

如果操作界面允许修改输入的JSON内容,直接给每个options元素添加result属性,值为对应price和quantity的乘积:

{
    "options": [
        {
            "price": 217,
            "quantity": 2,
            "result": 434
        },
        {
            "price": 63,
            "quantity": 5,
            "result": 315
        }
    ]
}

之后使用标准的JsonPath表达式提取结果:
$.options[*].result
就能得到预期的[434, 315]。

方案2:分别提取属性后手动计算(如果无法修改原始JSON)

如果UI不允许修改输入的JSON,Newtonsoft.Json的JsonPath无法直接返回乘积结果。你只能先分别提取所有price和quantity值:

  • 提取价格:$.options[*].price → 得到[217, 63]
  • 提取数量:$.options[*].quantity → 得到[2, 5]
    再手动对应计算每一组的乘积。

内容的提问来源于stack exchange,提问作者Sly Redbeard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 18:45:00