Я хочу получить pretaxCost > 0
данные, но столкнулся с проблемой, как показано ниже:
мой JMESPath
[?pretaxCost.to_number(@) > 0]
демонстрационные данные:
[
{
"pretaxCost": "7.19999999999999962124684594298729134465020251809619367122650146484375E-8",
"instanceName": "demo202009210002"
},
{
"pretaxCost": "0",
"instanceName": "demo202009210002"
},
{
"pretaxCost": "0",
"instanceName": "demo20092701"
},
{
"pretaxCost": "0.2399999999999999911182158029987476766109466552734375",
"instanceName": "demo965546464"
},
{
"pretaxCost": "0.06278620880000000681331329133172403089702129364013671875",
"instanceName": "weihanacrdemo"
},
{
"pretaxCost": "2.16000000000000001872295179138061538282045148662291467189788818359375E-7",
"instanceName": "092d02d45a464c1291715701"
}
]
система показывает сообщение об ошибке:
jmespath.min.js:2 Uncaught ParserError: Invalid token (Number): "0"
JSFiddle — площадка для разработки кода
что я пытался думать:
я думаю, что pretaxCost является строковым типом, поэтому мне нужно преобразовать тип в число, поэтому я использую функцию to_number
, а затем использую выражение > 0
, чтобы получить ожидаемый результат, но это не работает..
и я попытался выбрать только pretaxCost to_number, это работает, как показано ниже:
JSFiddle — Code Playground