我正在使用 golang 庫 go-jmespath 來查詢 json 文件。我的代碼如下所示:package mainimport ( "encoding/json" "log" "github.com/jmespath/go-jmespath")func main() { var jsonBlob = []byte(`[ { "oeeId": 3162396, "oeeDate": "2019-03-06T00:00:00", "oee": 21.2 }]`) var d interface{} err := json.Unmarshal(jsonBlob, &d) if err != nil { log.Printf("1: %s", err) } res, err := jmespath.Search("{ labels: ['example'], datasets: [{label: 'Verfügbarkeit', data: [?oeeDate == `2019-03-06T00:00:00`].oee}]}", d) if err != nil { log.Printf("2: %s", err) } log.Println(res)}這也是Playground中示例的鏈接。當(dāng)我執(zhí)行此代碼時(shí),我收到以下錯(cuò)誤:invalid character '-' after top-level value我想知道這段代碼有什么問題,因?yàn)檫@個(gè)示例適用于其他 Jmespath 實(shí)現(xiàn),如 javascript jmespath.js 庫。錯(cuò)誤似乎在查詢而不是輸入數(shù)據(jù)中。有人可以幫我解決這個(gè)問題嗎?
1 回答

慕后森
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
用單引號(hào)替換搜索字符串中的反引號(hào)可以消除錯(cuò)誤。
改用這個(gè):"{ labels: ['example'], datasets: [{label: 'Verfügbarkeit', data: [?oeeDate == '2019-03-06T00:00:00'].oee}]}"
.
沒有更多的錯(cuò)誤。
- 1 回答
- 0 關(guān)注
- 177 瀏覽
添加回答
舉報(bào)
0/150
提交
取消