2014-11-01 2 views
0

я некоторые EditText поле размера говорит 10. После заполнения всех полей, как только я нажимаю кнопку OK JSONObject должен быть obtained.I хочу иметь выходной сигнал таким образом:Как создать JSONObject из следующих

{{App_name: "Пример"}, {id: 1, data: "hello"}, {id: 2, data: "hi"}, {id: 3, data: "fine"}, {id: 4 , data: "thanks"}}

Предполагая, что у меня уже есть имя_приложения, идентификатор и данные.

EditText fields are 10 in number 
data=(EditText)type.toString(); 

Я знаю, что я должен использовать этот объект JSONObject = новый JSONObject(); object.put ("id", 1); object.put ("data", hello);

Но не знаю, как перебираем, чтобы получить ввести EditText данные поля

+0

К сожалению, вы не можете получить выход таким образом. Перейдите на json.org и изучите синтаксис JSON. –

+0

(И то, что вы делаете, - это плохой способ организовать JSON. У вас не должно быть «объекта», который претендует на роль «массива».) –

ответ

2

Создать POJO имеет

public class Sample{ 
    private int id; 
    private String data; 
    public int getId() { 
     return id; 
    } 
    public void setId(int id) { 
     this.id = id; 
    } 
    public String getData() { 
     return data; 
    } 
    public void setData(String data) { 
     this.data = data; 
    } 


} 

затем

data=(EditText)type.toString(); 
Gson gson = new Gson(); 
Sample sample = gson.fromJson(data, Sample.class); 

вместо

JSONObject object=new JSONObject(); object.put("id",1); object.put("data",hello); 

и конвертировать pojo в желаемый формат вывода

String result = gson.toJson(sample); 
+0

Но {App_name: «Пример»}, кажется, проблема здесь –

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