2017-10-19 79 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