From 87033efcaec6215741137e8ca61952c53ef2685d Mon Sep 17 00:00:00 2001 From: Josh Baker Date: Tue, 23 Jan 2018 05:45:05 -0700 Subject: [PATCH] array query mismatch, fixes #58 --- gjson.go | 2 +- gjson_test.go | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gjson.go b/gjson.go index d2814ef..5950ed3 100644 --- a/gjson.go +++ b/gjson.go @@ -1077,7 +1077,7 @@ func queryMatches(rp *arrayPathResult, value Result) bool { case "=": return value.Num == rpvn case "!=": - return value.Num == rpvn + return value.Num != rpvn case "<": return value.Num < rpvn case "<=": diff --git a/gjson_test.go b/gjson_test.go index 72f95d2..2cc8c02 100644 --- a/gjson_test.go +++ b/gjson_test.go @@ -1288,3 +1288,10 @@ func TestIssue55(t *testing.T) { } } } +func TestIssue58(t *testing.T) { + json := `{"data":[{"uid": 1},{"uid": 2}]}` + res := Get(json, `data.#[uid!=1]`).Raw + if res != `{"uid": 2}` { + t.Fatalf("expected '%v', got '%v'", `{"uid": 1}`, res) + } +}