code: func parseField(ctx *context, field *jsongo.JSONNode) (*Field, error) {
  	if field.Len() < 2 || field.At(0).GetType() != jsongo.TypeValue || field.At(1).GetType() != jsongo.TypeValue {
  		return nil, errors.New("invalid JSON for field specified")
  	}
  
  	fieldType, ok := field.At(0).Get().(string)
  	if !ok {
  		return nil, fmt.Errorf("field type is %T, not a string", field.At(0).Get())
  	}
  	fieldName, ok := field.At(1).Get().(string)
  	if !ok {
  		return nil, fmt.Errorf("field name is %T, not a string", field.At(1).Get())
  	}
  	var fieldLength float64
  	if field.Len() >= 3 {
  		fieldLength, ok = field.At(2).Get().(float64)
  		if !ok {
  			return nil, fmt.Errorf("field length is %T, not float64", field.At(2).Get())
  		}
  	}
  	var fieldLengthFrom string
  	if field.Len() >= 4 {
  		fieldLengthFrom, ok = field.At(3).Get().(string)
  		if !ok {
  			return nil, fmt.Errorf("field length from is %T, not a string", field.At(3).Get())
  		}
  	}
  
  	return &Field{
  		Name:     fieldName,
  		Type:     fieldType,
  		Length:   int(fieldLength),
  		SizeFrom: fieldLengthFrom,
  	}, nil
  }
docs: // parseField parses VPP binary API object field from JSON node