fix "no viable alternative at input" on map type

encode key and value of map data type with native data types' encoders
fix "no viable alternative at input" issue on list type

use native type encoders to encode elements of list