Я использую библиотеку golang go -jmespath для запроса файла json. Мой код выглядит следующим образом:
package main
import (
"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 .
Когда я выполняю этот код, я получаю следующую ошибку :
invalid character '-' after top-level value
Мне интересно, в чем заключается моя проблема с этим кодом, поскольку этот пример работает с другими реализациями Jmespath, такими как javascript jmespath. js.
Похоже, ошибка в запросе, а не входных данных. Кто-нибудь может мне помочь в этом?