我想将geojson字符串解组为合适的结构类型。 我有,我想解组为同一结构三个不同的GeoJSON的字符串:用于geojson解组的合适结构类型
var jsonBlobPointString = []byte(`{"Type":"Point", "Coordinates":[1.1,2.0]}`)
var jsonBlobLineString = []byte(`{"Type":"LineString", "Coordinates":[[1.1,2.0],[3.0,6.3]]}`)
var jsonBlobPolygonString = []byte(`{"Type":"Polygon", "Coordinates":[[[1.1,2.0],[3.0,6.3],[5.1,7.0],[1.1,2.0]]]}`)
我想出了一个结构类型是我可不是完全满意:
type GeojsonType struct {
Type string
Coordinates interface{}
}
请参阅此链接完整示例: http://play.golang.org/p/Bt-51BX__A
我宁愿不使用接口{}作坐标。 我会反而使用somehting给我一些验证例如坐标[] float64的点 和坐标[] [] float64的LineString。
是否可以创建一个结构类型,以便Point,LineString和Polygon都可以在坐标中表示而不使用接口?
您是否尝试过实现Unmarshaler接口? – Mikke