|
|
|
@ -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} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -657,6 +656,9 @@ func (v *Value) Object() (*Object, error) { |
|
|
|
|
obj.m = m |
|
|
|
|
|
|
|
|
|
return obj, nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return nil, ErrNotObject |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Attempts to typecast the current value into an object arrau.
|
|
|
|
@ -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,7 +689,12 @@ 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.
|
|
|
|
|