forked from mirror/gjson
added result.Time() function
This commit is contained in:
parent
6e0babc7e8
commit
039b641eab
|
@ -126,6 +126,7 @@ result.Uint() uint64
|
||||||
result.Float() float64
|
result.Float() float64
|
||||||
result.String() string
|
result.String() string
|
||||||
result.Bool() bool
|
result.Bool() bool
|
||||||
|
result.Time() time.Time
|
||||||
result.Array() []gjson.Result
|
result.Array() []gjson.Result
|
||||||
result.Map() map[string]gjson.Result
|
result.Map() map[string]gjson.Result
|
||||||
result.Get(path string) Result
|
result.Get(path string) Result
|
||||||
|
|
7
gjson.go
7
gjson.go
|
@ -4,6 +4,7 @@ package gjson
|
||||||
import (
|
import (
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"time"
|
||||||
"unicode/utf16"
|
"unicode/utf16"
|
||||||
"unicode/utf8"
|
"unicode/utf8"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
|
@ -140,6 +141,12 @@ func (t Result) Float() float64 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Time returns a time.Time representation.
|
||||||
|
func (t Result) Time() time.Time {
|
||||||
|
res, _ := time.Parse(time.RFC3339, t.String())
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
// Array returns back an array of values.
|
// Array returns back an array of values.
|
||||||
// If the result represents a non-existent value, then an empty array will be returned.
|
// If the result represents a non-existent value, then an empty array will be returned.
|
||||||
// If the result is not a JSON array, the return value will be an array containing one result.
|
// If the result is not a JSON array, the return value will be an array containing one result.
|
||||||
|
|
|
@ -114,6 +114,7 @@ var basicJSON = `{"age":100, "name":{"here":"B\\\"R"},
|
||||||
"items":[1,2,3,{"tags":[1,2,3],"points":[[1,2],[3,4]]},4,5,6,7],
|
"items":[1,2,3,{"tags":[1,2,3],"points":[[1,2],[3,4]]},4,5,6,7],
|
||||||
"arr":["1",2,"3",{"hello":"world"},"4",5],
|
"arr":["1",2,"3",{"hello":"world"},"4",5],
|
||||||
"vals":[1,2,3,{"sadf":sdf"asdf"}],"name":{"first":"tom","last":null},
|
"vals":[1,2,3,{"sadf":sdf"asdf"}],"name":{"first":"tom","last":null},
|
||||||
|
"created":"2014-05-16T08:28:06.989Z",
|
||||||
"loggy":{
|
"loggy":{
|
||||||
"programmers": [
|
"programmers": [
|
||||||
{
|
{
|
||||||
|
@ -144,6 +145,10 @@ var basicJSON = `{"age":100, "name":{"here":"B\\\"R"},
|
||||||
}`
|
}`
|
||||||
var basicJSONB = []byte(basicJSON)
|
var basicJSONB = []byte(basicJSON)
|
||||||
|
|
||||||
|
func TestTimeResult(t *testing.T) {
|
||||||
|
assert(t, Get(basicJSON, "created").String() == Get(basicJSON, "created").Time().Format(time.RFC3339Nano))
|
||||||
|
}
|
||||||
|
|
||||||
func TestParseAny(t *testing.T) {
|
func TestParseAny(t *testing.T) {
|
||||||
assert(t, Parse("100").Float() == 100)
|
assert(t, Parse("100").Float() == 100)
|
||||||
assert(t, Parse("true").Bool())
|
assert(t, Parse("true").Bool())
|
||||||
|
|
Loading…
Reference in New Issue