commit | df4f5c81cb3b310899c091852a576ea7d178aedb | [log] [tgz] |
---|---|---|
author | Kirill Motkov <motkov.kirill@gmail.com> | Fri Aug 09 12:32:07 2019 |
committer | Johan Dorland <johand@a-eskwadraat.nl> | Fri Aug 09 12:39:43 2019 |
tree | 4e4df9205c698683d8af7b7cc559877b83bdf273 | |
parent | 4e3ac2762d5f479393488629ee9370b50873b3a6 [diff] |
go fmt project
An implementation of JSON Pointer - Go language
jsonText := `{ "name": "Bobby B", "occupation": { "title" : "King", "years" : 15, "heir" : "Joffrey B" } }` var jsonDocument map[string]interface{} json.Unmarshal([]byte(jsonText), &jsonDocument) //create a JSON pointer pointerString := "/occupation/title" pointer, _ := NewJsonPointer(pointerString) //SET a new value for the "title" in the document pointer.Set(jsonDocument, "Supreme Leader of Westeros") //GET the new "title" from the document title, _, _ := pointer.Get(jsonDocument) fmt.Println(title) //outputs "Supreme Leader of Westeros" //DELETE the "heir" from the document deletePointer := NewJsonPointer("/occupation/heir") deletePointer.Delete(jsonDocument) b, _ := json.Marshal(jsonDocument) fmt.Println(string(b)) //outputs `{"name":"Bobby B","occupation":{"title":"Supreme Leader of Westeros","years":15}}`
http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07
The 4.Evaluation part of the previous reference, starting with ‘If the currently referenced value is a JSON array, the reference token MUST contain either...’ is not implemented.