2017-01-13 3 views
-4

Я новичок в Android. Мне нужно знатьКак преобразовать объект arraylist в JsonObject в android?

1) Как преобразовать объект массива в JsonObject. Мне нужно в этом формате

{"House_id":"1" 
"Date":"12.12.2016" 
[{"Name":"RickBald","email":"[email protected]","address":"homeaddress1"},{"Name":"EshaRan","email":"[email protected]","address":"homeaddress2"},{"Name":"Hansa Bella","email":"[email protected]","address":"homeaddress3"}...]} 

2) , что должно быть запрос в volley, если я хочу, чтобы отправить это `jsonArray.

Заранее спасибо

+1

вы можете показать свои объекты в коде? – TruongHieu

+0

Узнать [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask) и опубликовать код, который подготавливает массив объектов. – Shashanth

+0

Спасибо @ Shashanth. – Rose

ответ

1

сначала объявить массивы:

String[] name ={"yousuf" , "Mohammed" , "Ali" , "Hamood" , "Alex"}; 
String[] emails = {"[email protected]" , "[email protected]" , "[email protected]" , "[email protected]" , "[email protected]"}; 

любые массивы с данными,

затем создать JSONArray

JSONArray array = new JSONArray(); 

то сделать петлю для добавления объектов в массив:

for (int i =0; (i < name.length) && (i < emails.length) ; i++) { 
     JSONObject object = new JSONObject(); 
     try { 
      object.put("name", name[i]); 
      object.put("email" , emails[i]); 
      array.put(object); 
     }catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 

, то вы можете распечатать результаты в консоли:

Log.d("Json is " , array.toString()); 

вам будет получен следующий результат:

[{"name":"yousuf","email":"[email protected]"},{"name":"Mohammed","email":"[email protected]"},{"name":"Ali","email":"[email protected]"},{"name":"Hamood","email":"[email protected]"},{"name":"Alex","email":"[email protected]"}] 

но вы можете отформатировать его: Json formatter and validator

и вы будете иметь хороший взгляд на данные: enter image description here

здесь есть весь код:

public void getDataInJsonFormat(){ 
    String[] name ={"yousuf" , "Mohammed" , "Ali" , "Hamood" , "Alex"}; 
    String[] emails = {"[email protected]" , "[email protected]" , "[email protected]" , "[email protected]" , "[email protected]"}; 

    JSONArray array = new JSONArray(); 

    for (int i =0; (i < name.length) && (i < emails.length) ; i++) { 
     JSONObject object = new JSONObject(); 
     try { 
      object.put("name", name[i]); 
      object.put("email" , emails[i]); 
      array.put(object); 
     }catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 

    Log.d("Json is " , array.toString()); 
} 
0

Вы можете использовать Gson, который имеет конвертеры из и в JSON представления ваших Java-моделей.

0

Вы можете использовать GSON LIB и Джексон картографа

Object Пожалуйста, смотрите ниже код для GSON:

Gson gson = new Gson(); 

T является общий класс (DTO класс) в ниже метода getJSONString.

String convertedJson = getJSONString(DTO) 

public String getJSONString(T dto){ 
     return gson.toJson(dto); 
} 
1

Supose Ваш ответ Строка или Json Строка

JSONObject json = new JSONObject(strResponse); 
Json.putString("Name","RickBald") 

положить все значение в JSONObject как Json.putString ("Name", "RickBald");

И преобразующие inot jsonArray

JSONArray jsonarr = new JSONArray(); 
jsonarr.put(json); 

Выход:

[{"Name":"RickBald","email":"[email protected]","address":"homeaddress1"},{"Name":"EshaRan","email":"[email protected]","address":"homeaddress2"},{"Name":"Hansa Bella","email":"[email protected]","address":"homeaddress3"}...] 
+0

'json.put (" Name "," RickBald ")' not _'Json.putString ("Name", "RickBald") '_ – Shashanth

Смежные вопросы