android如何将json数组转换为字符串数组

Jyo*_*sna 8 android json

我有一个应用程序,我以数组的形式从服务器(json)获取数据,并使用我在我的应用程序中使用的索引,如下所示.

JSONObject topobj = new JSONObject(page);
JSONObject innerobj = topobj.getJSONObject("restarutant");
JSONArray phone = innerobj.getJSONArray("phone");
textViewPhone.setText("Phone: " + phone.get(0).toString() + " ,"
                    + phone.get(1).toString());
Run Code Online (Sandbox Code Playgroud)

对于小尺寸阵列,我可以这样做.但是当数组包含'n'没有元素并动态地我必须使用它时,那时它需要转换为String Array.谁能告诉我如何将json数组转换为String数组?谢谢

Pas*_*sha 22

应该对你有帮助.

编辑:

也许这就是你需要的:

ArrayList<String> stringArray = new ArrayList<String>();
JSONArray jsonArray = new JSONArray();
for(int i = 0, count = jsonArray.length(); i< count; i++)
{
    try {
        JSONObject jsonObject = jsonArray.getJSONObject(i);
        stringArray.add(jsonObject.toString());
    }
    catch (JSONException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 标题是关于String [],但是接受的答案给出了一个ArrayList <String>,但它们完全不同 (2认同)

Ris*_*abh 5

我认为这就是你要找的东西

ArrayList<String> list = new ArrayList<String>();     
JSONArray jsonArray = (JSONArray)jsonObject; 
if (jsonArray != null) { 
   for (int i=0;i<jsonArray.length();i++){ 
    list.add(jsonArray.get(i).toString()); 
} 
Run Code Online (Sandbox Code Playgroud)


Mla*_*jac 5

假设您已经拥有JSONArray jsonArray:

String[] stringArray = new stringArray[jsonArray.length];
for(int i = 0, count = jsonArray.length(); i< count; i++)
{
    try {
        String jsonString = jsonArray.getString(i);
        stringArray[i] = jsonString.toString();
    }
    catch (JSONException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)