gjson icon indicating copy to clipboard operation
gjson copied to clipboard

Multiple conditions are invalid

Open yjkt opened this issue 4 months ago • 1 comments

package main

import (
	"fmt"

	"github.com/tidwall/gjson"
)

func main() {
	jsonData := `{
		"symbols": [
			{"symbol": "BTCUSDT", "status": "TRADING", "quoteAsset": "USDT"},
			{"symbol": "ETHUSDT", "status": "HALTED", "quoteAsset": "USDT"},
			{"symbol": "ATOMBTC", "status": "TRADING", "quoteAsset": "BTC"}
		]
	}`

	result := gjson.Get(jsonData, `symbols.#(status=="TRADING" && quoteAsset=="USDT")#.symbol`)
	fmt.Println("过滤结果:", result)
}

Hello.

I want to select both Status as Trading and QuoteAsset as USDT symbols, but the result is []. The expected outcome is ["BTCUDT"].

What should I do?

yjkt avatar Aug 28 '25 01:08 yjkt

symbols.#(status=="TRADING")#|#(quoteAsset=="USDT")#.symbol

tidwall avatar Aug 28 '25 02:08 tidwall