Some industry standards (such as GeoJSON) use nested arrays in their JSON models.
See:
Spec in English: http://www.geojson.org/geojson-spec.html
Spec in JSON: https://github.com/fge/sample-json-schemas/blob/master/geojson/geometry.json
A Geometry object has "type" property of "Point", "LineString", "Polygon", "MultiPoint", "MultiLineString", "MultiPolygon" or "GeometryCollection". It also has optional "coordinates" property (required for all values of "type" except "GeometryCollection") which would be an array of something (depending on the value of "type"). The other properties aren't relevant to this request.
A Point is a Geometry object with a "type" property of value "Point" and a "coordinates" property of an array of 2 or 3 doubles (lon/lat coordinates and optional elevation). So this one you can already handle (except for the min/max item count) as array[double].
A LineString is a Geometry object with a "type" property of value "LineString" and a "coordinates" property of an array of 2 or more connected Point coordinate arrays (so an array[array[double]]).
A MultiLineString is a Geometry object with a "type" property of value "MultiLineString" and a "coordinates" property of an array of 1 or more LineString coordinate arrays (so an array[array[array[double]]]).
We have other use cases for them but this particular case is an industry standard, so I thought it best to use that example here.
Some industry standards (such as GeoJSON) use nested arrays in their JSON models.
See:
Spec in English: http://www.geojson.org/geojson-spec.html
Spec in JSON: https://github.com/fge/sample-json-schemas/blob/master/geojson/geometry.json
A Geometry object has "type" property of "Point", "LineString", "Polygon", "MultiPoint", "MultiLineString", "MultiPolygon" or "GeometryCollection". It also has optional "coordinates" property (required for all values of "type" except "GeometryCollection") which would be an array of something (depending on the value of "type"). The other properties aren't relevant to this request.
A Point is a Geometry object with a "type" property of value "Point" and a "coordinates" property of an array of 2 or 3 doubles (lon/lat coordinates and optional elevation). So this one you can already handle (except for the min/max item count) as array[double].
A LineString is a Geometry object with a "type" property of value "LineString" and a "coordinates" property of an array of 2 or more connected Point coordinate arrays (so an array[array[double]]).
A MultiLineString is a Geometry object with a "type" property of value "MultiLineString" and a "coordinates" property of an array of 1 or more LineString coordinate arrays (so an array[array[array[double]]]).
We have other use cases for them but this particular case is an industry standard, so I thought it best to use that example here.