// ValueAsJSON returns the current value as an interface{} in it's JSON representation.
ValueAsJSON returns the current value as an interface{} in it's JSON representation.
// ValueAsJSON returns the current value as an interface {} in it ' s JSON representation .
func (vr *ListValueIterator) ValueAsJSON() (interface{}, error) {
	if vr.ref.IsNull(vr.index) {
		return nil, nil
	}
	j := vr.index + vr.ref.Offset() 
	offsets := vr.ref.Offsets()
	beg := offsets[j]
	end := offsets[j+1]
	arr := array.NewSlice(vr.ref.ListValues(), int64(beg), int64(end))
	defer arr.Release()
	iter := NewInterfaceValueIterator(
		arrow.Field{Name: "item", Type: vr.elemDataType, Nullable: true},
		arr,
	)
	defer iter.Release()
	list := make([]interface{}, 0, end-beg)
	for iter.Next() {
		jsonValue, err := iter.ValueAsJSON()
		if err != nil {
			return nil, err
		}
		list = append(list, jsonValue)
	}
	return list, nil
}
func ( vr * ListValueIterator ) ValueAsJSON ( ) ( interface { } , error ) { if vr . ref . IsNull ( vr . index ) { return nil , nil } j := vr . index + vr . ref . Offset ( ) offsets := vr . ref . Offsets ( ) beg := offsets [ j ] end := offsets [ j + 1 ] arr := array . NewSlice ( vr . ref . ListValues ( ) , int64 ( beg ) , int64 ( end ) ) defer arr . Release ( ) iter := NewInterfaceValueIterator ( arrow . Field { Name : " " , Type : vr . elemDataType , Nullable : true } , arr , ) defer iter . Release ( ) list := make ( [ ] interface { } , 0 , end - beg ) for iter . Next ( ) { jsonValue , err := iter . ValueAsJSON ( ) if err != nil { return nil , err } list = append ( list , jsonValue ) } return list , nil }
ValueAsJSON returns the current value as an interface{} in it's JSON representation.
ValueAsJSON returns the current value as an interface {} in it ' s JSON representation .
// index + data offset