2016-09-01 6 views
-1

非常に複雑なjsonファイルの値を表示するautoCompleteTextViewを作成しました。私はjsonのディレクトリに "深く"入る方法を知らない。私が持っていたい値は、コードにネストされています。このコードはhttpリクエストから来ます。このフォーラムでは、他のソリューションは、本当に私を助けてdidn`tの:( THANKS :)httpリクエストからの出力がさらに深くなっています

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.net.URL; 
import java.net.URLConnection; 
import java.util.ArrayList; 
import java.util.List; 

import org.json.JSONArray; 
import org.json.JSONObject; 

public class JsonParse { 
    double current_latitude,current_longitude; 
    public JsonParse(){} 
    public JsonParse(double current_latitude,double current_longitude){ 
     this.current_latitude=current_latitude; 
     this.current_longitude=current_longitude; 
    } 
    public List<SuggestGetSet> getParseJsonWCF(String sName) 
    { 
     List<SuggestGetSet> ListData = new ArrayList<SuggestGetSet>(); 
     try { 
      URL js = new URL("something"); 
      URLConnection jc = js.openConnection(); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(jc.getInputStream())); 
      String line = reader.readLine(); 
      JSONObject jsonResponse = new JSONObject(line); 
      JSONArray jsonArray = jsonResponse.getJSONArray("something"); 
      for(int i = 0; i < jsonArray.length(); i++){ 
       JSONObject r = jsonArray.getJSONObject(i); 
       ListData.add(new SuggestGetSet(r.getString("something"),r.getString("something"))); 
      } 
     } catch (Exception e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
     return ListData; 

} 

例えば、このようなJSONファイル:

{ "ID":1、 "エラー":ヌル、 "結果":{"nPeople": "people":[{"namePeople": "Inca"、 "power": "1235"、 "location": "asdfghjja"、 "idPeople":189、 "mainItems" : "brownGem"、 "verified":false、 "description": "Lorem impsum bla bla"、 "linkAvatar": "avatar_12.jpg"、 "経度":16.2434263、 "latitude":89.355118}、{"namePeople" "maya"、 "power": "1235"、 "location": "hcjkjhljhl"、 "idPeople":119、 "mainItems": "greenstone"、 "verified":false、 "description": "Lorem impsum bla bla" 、 "linkAvatar": "avatar_6.jpg"、 "経度":16.2434263、 "latitude":89.3551185}}}}

+0

あなたは何を意味しますか?「私はjsonのディレクトリに「深く」入る方法を知らない」 –

+0

あなたに役立つサンプルデータを投稿する。 – lsiva

+0

あなたのためにこれを行うことができるライブラリがあります:例[1] https://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/ [2] http: //www.journaldev.com/2324/jackson-json-java-parser-api-example-tutorial –

答えて

0

JSON構造に「もっと深く」なるようにするには、JSONObjectからサブ要素を取得するだけです。

JSONObject jsonObject = (JSONObject) jsonParser.parse(jsonFormattedVehicleResponse); 
JSONArray vehicles = (JSONArray) jsonObject.get("vehicle"); 
for(Object vehicle : vehicles) { 
    JSONObject vehicleJSON = (JSONObject) vehicle; 
    if(vehicleJSON.containsKey("subValue")) { 
     JSONObject subJSON = (JSONObject) vehicleJSON.get("subValue"); 
     //do stuff 
    } 
} 

あなたが探している情報に至るまで、取得しなければならないサブ要素ごとにすすぎ、繰り返す。しかし、これでは、リクエストに含まれているJSONに精通している必要があります。

関連する問題