2016-11-17 286 views
0

我想從使用JSONObject和JSONArray的字符串JSON數據嵌套JSON數據。該代碼正在編譯沒有任何錯誤,但結果即將到來而不是關聯的字符串。如果有任何替代方法嵌套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 parser = new JSONParser(); 嘗試{obj = parser.parse(out1); JSONObject jsonObject =(JSONObject)obj; String name =(String)jsonObject.get(「Name」); System.out.println(name); } – codehacker

0

而不是使用JSONParser得到的JSONObject你可以直接使用下面的代碼

JSONObject jsonObj = new JSONObject(out1)