|
|
|
@ -639,9 +639,7 @@ func (v *Value) Object() (*Object, error) { |
|
|
|
|
valid = true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if !valid { |
|
|
|
|
return nil, ErrNotObject |
|
|
|
|
} |
|
|
|
|
if valid { |
|
|
|
|
obj := new(Object) |
|
|
|
|
obj.valid = valid |
|
|
|
|
|
|
|
|
@ -650,6 +648,7 @@ func (v *Value) Object() (*Object, error) { |
|
|
|
|
if valid { |
|
|
|
|
for key, element := range v.data.(map[string]interface{}) { |
|
|
|
|
m[key] = &Value{element, true} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -659,6 +658,9 @@ func (v *Value) Object() (*Object, error) { |
|
|
|
|
return obj, nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return nil, ErrNotObject |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Attempts to typecast the current value into an object arrau.
|
|
|
|
|
// Returns error if the current value is not an array of json objects
|
|
|
|
|
// Example:
|
|
|
|
@ -676,9 +678,8 @@ func (v *Value) ObjectArray() ([]*Object, error) { |
|
|
|
|
// Unsure if this is a good way to use slices, it's probably not
|
|
|
|
|
var slice []*Object |
|
|
|
|
|
|
|
|
|
if !valid { |
|
|
|
|
return nil, ErrNotObjectArray |
|
|
|
|
} |
|
|
|
|
if valid { |
|
|
|
|
|
|
|
|
|
for _, element := range v.data.([]interface{}) { |
|
|
|
|
childValue := Value{element, true} |
|
|
|
|
childObject, err := childValue.Object() |
|
|
|
@ -688,9 +689,14 @@ func (v *Value) ObjectArray() ([]*Object, error) { |
|
|
|
|
} |
|
|
|
|
slice = append(slice, childObject) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return slice, nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return nil, ErrNotObjectArray |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Attempts to typecast the current value into a string.
|
|
|
|
|
// Returns error if the current value is not a json string
|
|
|
|
|
// Example:
|
|
|
|
|