2017-10-19 110 views
1

您好我是Android新手,並在整個上午搜索解決方案。 我只找到無法幫助我的帖子。 interessting後from JSON to 2D array不工作在我的項目。我試着用不同的方法在我的代碼中實現這個方法。 我只是想將我的JSON響應轉換爲這種格式的二維字符串數組:將JSON響應轉換爲二維字符串數組

Array [0] [0] = Artikelnummer;

Array [0] [1] = Preis;

Array [0] [2] = Von;

Array [0] [3] = Bis;

Array [0] [4] = art_link;

Array [1] [0] = Artikelnummer;

Array [1] [1] = Preis;

Array [1] [2] = Von;

Array [1] [3] = Bis;

Array [0] [4] = art_link;

.....

...

..

JSON響應的樣子:

[{ 
"Artikelnummer": 01578675, 
"Preis": 3.27, 
"Von": "2017-10-16 08:00:00", 
"Bis": "2017-10-20 13:00:00", 
"art_link": "http://link/.jpg" 
}, 
{ 
"Artikelnummer": 99999999, 
"Preis": 9.99, 
"Von": "2017-10-16 08:00:00", 
"Bis": "2017-10-20 13:00:00", 
"art_link": "http://link/.jpg" 
}, 
{ 
"Artikelnummer": 55555555, 
"Preis": 5.55, 
"Von": "2017-10-16 08:00:00", 
"Bis": "2017-10-20 13:00:00", 
"art_link": "http://link/.jpg" 
}, 
{ 
"Artikelnummer": 88888888, 
"Preis": 8.88, 
"Von": "2017-10-16 08:00:00", 
"Bis": "2017-10-20 13:00:00", 
"art_link": "http://link/.jpg" 
}] 

我讓我在這條路上的迴應:

  URL url = new URL("https://myjson.com"); 
     HttpURLConnection httpURLConnection = (HttpURLConnection) 
     url.openConnection(); 

     InputStream inputStream = httpURLConnection.getInputStream(); 

     BufferedReader bufferedReader = new BufferedReader(new 
     InputStreamReader(inputStream)); 
     String line = ""; 

     while(line != null){ 
       line = bufferedReader.readLine(); 
       data = data + line; 

     ArrayList<String> listdata = new ArrayList<>(); 
     JSONArray jArray = new JSONArray(data); 

     for(int i =0 ;i <jArray.length(); i++){ 
      listdata.add(jArray.getString(i)); 
      JSONObject jObject = (JSONObject) jArray.get(i); 
     } 

但我怎麼能我的jArray響應轉換成一個String [] []

這樣的事情,但是這didn't工作,爲我的項目

String[][] matrix = new String[jArray.length][5]; 
+0

什麼時候應該第二排開始2天數組? –

+0

請添加更多詳情 –

回答

2

解析您的JSON字符串一個JSONArray,然後遍歷它並填充給定的行中的二維數組字符串。

JSONArray json = new JSONArray(data); 
String[][] array = new String[json.length()][5]; 

for (int i=0; i < json.length(); i++) {       
    JSONObject obj = json.getJSONObject(i); 
    array[i][0] = String.valueOf(obj.getInt("Artikelnummer")); 
    array[i][1] = String.valueOf(obj.getDouble("Preis")); 
    array[i][2] = obj.getString("Von"); 
    array[i][3] = obj.getString("Bis"); 
    array[i][4] = obj.getString("art_link"); 
} 
+0

THX很多這個作品!!!!!!!!!!! – user8800556