簡體   English   中英

將JSON響應轉換為2D字符串數組

[英]Convert JSON response into 2D String Array

您好,我是Android的新用戶,整個上午都在尋找解決方案。 我發現的帖子對我無濟於事。 從JSON到2D數組的有趣文章在我的項目中不起作用。 我嘗試了多種方法來將這種方法實現到我的代碼中。 我只想將我的JSON響應轉換為這種格式的2D字符串數組:

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 [] []

像這樣,但這對我的項目不起作用

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

將您的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");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM