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

如何用JSONPath提取stockOnline非0的完整键值对?

JSONPath提取stockOnline非0的完整键值对方案

问题场景

现有如下JSON数据:

{ 
   "2958114":{"stockOnline": 305 }, 
   "2958113": {"stockOnline": 2}, 
   "2958115": {"stockOnline": 0} 
}

需要提取所有stockOnline属性值不等于0的完整键值对,但使用$.*[?(@.stockOnline != 0)]仅返回属性值,无法保留原键值结构。

可行查询方案

使用包含keys()函数的JSONPath语句,可直接返回符合条件的完整键值对:

$[keys(@)[?($[#].stockOnline != 0)]]

语句说明

  • keys(@):获取顶层对象的所有键名数组;
  • [?($[#].stockOnline != 0)]:筛选出键名对应的对象中stockOnline不等于0的键;
  • $[筛选后的键数组]:根据筛选出的键,从顶层对象中提取对应的完整键值对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:20:36