diff options
Diffstat (limited to 'weed/query/json')
| -rw-r--r-- | weed/query/json/query_json.go | 5 | ||||
| -rw-r--r-- | weed/query/json/query_json_test.go | 73 |
2 files changed, 78 insertions, 0 deletions
diff --git a/weed/query/json/query_json.go b/weed/query/json/query_json.go new file mode 100644 index 000000000..779aa96e9 --- /dev/null +++ b/weed/query/json/query_json.go @@ -0,0 +1,5 @@ +package json + +func QueryJson(jsonLine string, query string) (jsonOutput string) { + return jsonLine +} diff --git a/weed/query/json/query_json_test.go b/weed/query/json/query_json_test.go new file mode 100644 index 000000000..7ad837360 --- /dev/null +++ b/weed/query/json/query_json_test.go @@ -0,0 +1,73 @@ +package json + +import ( + "testing" + + "github.com/tidwall/gjson" +) + +func TestGjson(t *testing.T) { + data := ` + { + "quiz": { + "sport": { + "q1": { + "question": "Which one is correct team name in NBA?", + "options": [ + "New York Bulls", + "Los Angeles Kings", + "Golden State Warriros", + "Huston Rocket" + ], + "answer": "Huston Rocket" + } + }, + "maths": { + "q1": { + "question": "5 + 7 = ?", + "options": [ + "10", + "11", + "12", + "13" + ], + "answer": "12" + }, + "q2": { + "question": "12 - 8 = ?", + "options": [ + "1", + "2", + "3", + "4" + ], + "answer": "4" + } + } + } + } + + { + "fruit": "Apple", + "size": "Large", + "quiz": "Red" + } + +` + + projections := []string{"quiz","fruit"} + + gjson.ForEachLine(data, func(line gjson.Result) bool{ + println(line.String()) + println("+++++++++++") + results := gjson.GetMany(line.Raw, projections...) + for _, result := range results { + println(result.Index, result.Type, result.String()) + } + println("-----------") + return true + }) + + + +} |
