typed.go
func JsonArray(data []byte) ([]Typed, error) {
	var m []interface{}
	err := json.Unmarshal(data, &m)
	if err != nil {
		return nil, err
	}
	l := len(m)
	if l == 0 {
		return nil, nil
	}
	typed := make([]Typed, l)
	for i := 0; i < l; i++ {
		value := m[i]
		if t, ok := value.(map[string]interface{}); ok {
			typed[i] = t
		} else {
			typed[i] = map[string]interface{}{"0": value}
		}
	}
	return typed, nil
}
func JsonArray(data []byte) ([]Typed, error) {
	var m []interface{}
	err := json.Unmarshal(data, &m)
	if err != nil {
		return nil, err
	}
	l := len(m)
	if l == 0 {
		return nil, nil
	}
	typed := make([]Typed, l)
	for i := 0; i < l; i++ {
		value := m[i]
		if t, ok := value.(map[string]interface{}); ok {
			typed[i] = t
		} else {
			typed[i] = map[string]interface{}{"0": value}
		}
	}
	return typed, nil
}
// Create an array of Typed helpers
// Used for when the root is an array which contains objects