Import GeoJSON features with nested properties
The geo_json format reads a GeoJSON FeatureCollection and binds its fixed id, geometry and properties members. Nested properties can remain a JSON document instead of being flattened into unrelated columns during ingestion.
Establish the destination contract
Choose a compatible native geometry type for the shapes being imported and a JSON declaration for flexible properties. Validate a small source file before a full import. Supported shapes include Point, MultiPoint, LineString, MultiLineString, Polygon and MultiPolygon. GeometryCollection is unsupported; the documented null policy can validate and replace it on input.
Use JSON functions to inspect an array-valued property after import. JSON arrays use zero-based indexes, which differ from native Array indexing. For example, extracting the first tag from a JSON document uses a JSON path such as $.tags[0].
Check geometry and properties independently
Coordinates must be finite. Geometry validation also checks ring closure, minimum line or ring sizes and nonempty collections. A syntactically valid JSON document can still fail these geometry requirements. Inspect the failing feature rather than disabling validation for an entire dataset.
When exporting, select exactly one native geometry column; other columns become properties unless a single object-valued properties column supplies them directly.
See geo_json, geometry types and JSON functions.