What can be the issue for the following error: invalid character '-' after top-level value?
What can be the issue for the following error: invalid character '-' after top-level value?
我正在使用 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)
}
这里还有一个link到Playground中的例子。
当我执行这段代码时,出现以下错误:
invalid character '-' after top-level value
我想知道这段代码有什么问题,因为此示例适用于其他 Jmespath 实现,例如 javascript jmespath.js 库。
错误似乎出在查询中,而不是输入数据中。有人可以帮我解决这个问题吗?
用单引号替换搜索字符串中的反引号可以消除错误。
改用这个:"{ labels: ['example'], datasets: [{label: 'Verfügbarkeit', data: [?oeeDate == '2019-03-06T00:00:00'].oee}]}"
.
没有更多的错误。
我正在使用 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)
}
这里还有一个link到Playground中的例子。
当我执行这段代码时,出现以下错误:
invalid character '-' after top-level value
我想知道这段代码有什么问题,因为此示例适用于其他 Jmespath 实现,例如 javascript jmespath.js 库。
错误似乎出在查询中,而不是输入数据中。有人可以帮我解决这个问题吗?
用单引号替换搜索字符串中的反引号可以消除错误。
改用这个:"{ labels: ['example'], datasets: [{label: 'Verfügbarkeit', data: [?oeeDate == '2019-03-06T00:00:00'].oee}]}"
.
没有更多的错误。