2016-11-17 40 views
0

JSONObjectとJSONArrayを使用して文字列JSONデータからネストされたJSONデータを取得しようとしています。コードはエラーなしでコンパイルされていますが、関連する文字列ではなくNullになります。 JSON文字列を入れ子にする別の方法がある場合は、お勧めします。文字列JSONデータからネストされたJSONデータを取得する

マイコード:

import java.io.*; 
    import java.net.* 
    import org.json.simple.JSONObject; 
    import org.json.simple.parser.JSONParser; 

    public class A4 { 
    public static void main(String[] args){ 
    String out,out1= null; 
    try{ 
     URL a=new URL("URL"); 
     HttpURLConnection b=(HttpURLConnection) a.openConnection(); 
     b.setRequestMethod("GET"); 
     b.setRequestProperty("Accept", "application/json"); 
     BufferedReader c=new BufferedReader(new InputStreamReader(b.getInputStream())); 
     StringBuilder sb=new StringBuilder(); 
     while((out=c.readLine())!=null){ 
      sb.append(out); 
      out1=sb.toString(); 
      } 

     c.close(); 
     b.disconnect(); 
    }catch (Exception e){ 
      e.printStackTrace(); 
     return; 
    } 
    JSONParser parser = new JSONParser(); 
    try{ 
     Object obj = parser.parse(out1); 
      JSONObject jsonObject = (JSONObject) obj; 
      String name = (String) jsonObject.get("Name"); 
     System.out.println(name); 
    } 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 
    } 
} 
+2

を使用することができますかhttps://stackoverflow.com/questions/40648754/pasring-json-data-using-java – rafid059

+0

これは別のコード – codehacker

+0

完全なスタックトレースとjsonファイルのサンプルを – rafid059

答えて

1

は、私はそれはあなたのために働くべきだと思います以下のコードを試してみてください。

while((out=c.readLine())!=null){ 
    sb=sb.append(out); 
} 
out1=sb.toString(); 

私はそれはあなたのために働いたりないのかどうか教えてください?

+0

コードの部分は問題ありません。問題は、コードのこの部分で、私は入れ子になったjsonを作成する必要があります。 JSONParserパーサー=新しいJSONParser(); { オブジェクトobj = parser.parse(out1); JSONObject jsonObject =(JSONObject)obj; String name =(String)jsonObject.get( "Name"); System.out.println(name); } – codehacker

0

代わりのJSONObjectを取得するためにJSONParserを使用して、あなたが直接、どのように、これはあなたが時間前に尋ねた質問から何が違うのですか?次のコード

JSONObject jsonObj = new JSONObject(out1) 
関連する問題