forked from mirror/gjson
comment on Valid
This commit is contained in:
parent
df0b0cce42
commit
c2e370e1b3
25
gjson.go
25
gjson.go
|
@ -390,6 +390,11 @@ end:
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parse parses the json and returns a result.
|
// Parse parses the json and returns a result.
|
||||||
|
//
|
||||||
|
// This function expects that the json is well-formed, and does not validate.
|
||||||
|
// Invalid json will not panic, but it may return back unexpected results.
|
||||||
|
// If you are consuming JSON from an unpredictable source then you may want to
|
||||||
|
// use the Valid function first.
|
||||||
func Parse(json string) Result {
|
func Parse(json string) Result {
|
||||||
var value Result
|
var value Result
|
||||||
for i := 0; i < len(json); i++ {
|
for i := 0; i < len(json); i++ {
|
||||||
|
@ -1328,8 +1333,6 @@ type parseContext struct {
|
||||||
|
|
||||||
// Get searches json for the specified path.
|
// Get searches json for the specified path.
|
||||||
// A path is in dot syntax, such as "name.last" or "age".
|
// A path is in dot syntax, such as "name.last" or "age".
|
||||||
// This function expects that the json is well-formed, and does not validate.
|
|
||||||
// Invalid json will not panic, but it may return back unexpected results.
|
|
||||||
// When the value is found it's returned immediately.
|
// When the value is found it's returned immediately.
|
||||||
//
|
//
|
||||||
// A path is a series of keys searated by a dot.
|
// A path is a series of keys searated by a dot.
|
||||||
|
@ -1356,6 +1359,10 @@ type parseContext struct {
|
||||||
// "c?ildren.0" >> "Sara"
|
// "c?ildren.0" >> "Sara"
|
||||||
// "friends.#.first" >> ["James","Roger"]
|
// "friends.#.first" >> ["James","Roger"]
|
||||||
//
|
//
|
||||||
|
// This function expects that the json is well-formed, and does not validate.
|
||||||
|
// Invalid json will not panic, but it may return back unexpected results.
|
||||||
|
// If you are consuming JSON from an unpredictable source then you may want to
|
||||||
|
// use the Valid function first.
|
||||||
func Get(json, path string) Result {
|
func Get(json, path string) Result {
|
||||||
var i int
|
var i int
|
||||||
var c = &parseContext{json: json}
|
var c = &parseContext{json: json}
|
||||||
|
@ -2038,11 +2045,15 @@ func validnull(data []byte, i int) (outi int, ok bool) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Valid returns true if the input is valid json.
|
// Valid returns true if the input is valid json.
|
||||||
func Valid(json string) bool {
|
//
|
||||||
_, ok := validpayload([]byte(json), 0)
|
// if !gjson.Valid(json) {
|
||||||
return ok
|
// return errors.New("invalid json")
|
||||||
}
|
// }
|
||||||
|
// value := gjson.Get(json, "name.last")
|
||||||
|
// func Valid(json string) bool {
|
||||||
|
// _, ok := validpayload([]byte(json), 0)
|
||||||
|
// return ok
|
||||||
|
// }
|
||||||
func parseUint(s string) (n uint64, ok bool) {
|
func parseUint(s string) (n uint64, ok bool) {
|
||||||
var i int
|
var i int
|
||||||
if i == len(s) {
|
if i == len(s) {
|
||||||
|
|
Loading…
Reference in New Issue