0

これが私のJson応答です:

{
"value": [
    {
        "type": "school",
        "id": 12,
        "name": "NNPS",
        "city": "CA",
        "geo_position": {
            "latitude": 52.52437,
            "longitude": 13.41053
        }
    },
    {
        "type": "College",
        "id": 44,
        "name": "PEC",
        "city": "PE",
        "geo_position": {
            "latitude": 45.50298,
            "longitude": 10.04366
        }
    }
  ]
}

「json.JSONArray」ライブラリを使用した私のJavaコードは次のとおりです。

while ((csvdata= br.readLine()) != null) {
  JSONObject output= new JSONObject(csvdata);
  JSONArray docs = output.getJSONArray("value");
  String csv = CDL.toString(docs);
  FileUtils.writeStringToFile(file, csv);
 }

ファイルを確認csvすると、次のように表示されます。

ここに画像の説明を入力 しかし、次のようにする必要があります。

ここに画像の説明を入力 私はコーディング段階の最初の段階にあり、現在それを改善しています。それについてアドバイスをください:)どうすれば変更できますか?

4

1 に答える 1

1

緯度と経度のレベルを再度設定する必要があります。これは私のために働いた

while ((csvdata= br.readLine()) != null) {
   JSONObject output= new JSONObject(csvdata);
   JSONArray docs = output.getJSONArray("value");

   for(int i=0; i<docs.length();i++){
       JSONObject geo_pos =  (JSONObject)(docs.getJSONObject(i).getJSONObject("geo_position"));
       docs.getJSONObject(i).put("latitude", geo_pos.get("latitude"));
       docs.getJSONObject(i).put("longitude", geo_pos.get("longitude"));
       docs.getJSONObject(i).remove("geo_position");
   }       

   String csv = CDL.toString(docs);
   FileUtils.writeStringToFile(file, csv);
 }
于 2013-12-07T22:26:58.553 に答える