ネストされたリストで編成された多くの JSON データがあります。各リストは他のリストで構成され、それらのリストには他のリストなどを含めることができます。最も深いリストは、経度と緯度のペアで構成されています。
[[[.....[16.353542354,48.2354242424],[16.46353535,48.2546754646]....].....].
次のようなグラフになります。
基本的に、これらのリストがどのようにネストされているかはわかりません。それらは常に異なります。次の難しい部分は、そこから「座標ポリゴン」を取得する必要があることです。つまり、座標のペアのみで構成されるリストは同じポリゴンに属します。例えば:
[......[[16.23542424,48.2342424242],[16.2423242352354,48.12342534634],[16.35353453535,48.345635353]]......
これは、3 組の座標 (つまり 3 つの角) で構成される多角形があることを意味します。これは、ある種の文字列解析で解決できると確信しています。これが基本的な JSON.simple (または他の API) の可能性で可能かどうか疑問に思います。問題は、JSON が解析しているデータについて何も知らないことです。オブジェクトが何であるかを JSON に伝える必要があり、型変換を使用して正しいデータを取得する必要があります。ここでこれらの例を参照してください。今は逆の方法が必要ですが、データがどのタイプなのかわかりません(「それはまだ別のリストですか、それとも座標のペアのデータですか」)、これらのリストは非常に動的であるためです。これを便利な方法で行うにはどうすればよいでしょうか。JSON文字列を文字ごとに比較するために、「プッシュアンドポップ動作」を備えた文字列解析アルゴリズムを作成できますが、これを行うためのより良い方法はないのでしょうか?
[更新]
これは、GeoJSON と呼ばれる標準化された JSON 形式であることがわかりました。データの読み方を知っていれば、それはかなり明確です。Multipolygon は Polygon で構成され、Polygon オブジェクトの 2 番目の配列で表される Polygon に穴を設けることができます。仕様を参照してください:
ポリゴン、マルチポリゴン