如何在android中将arraylist的对象转换为JsonObject?

如何在android中将arraylist的对象转换为JsonObject?,android,json,android-volley,Android,Json,Android Volley,我是Android的初学者。我需要知道 1) 如何将数组的对象转换为JsonObject。我需要这种格式 {"House_id":"1" "Date":"12.12.2016" [{"Name":"RickBald","email":"xyz@gmail.com","address":"homeaddress1"},{"Name":"EshaRan","email":"ghj@gmail.com","address":"homeaddress2"},{"Name":"Hansa Bella",

我是Android的初学者。我需要知道

1) 如何将数组的对象转换为JsonObject。我需要这种格式

{"House_id":"1"
 "Date":"12.12.2016"
[{"Name":"RickBald","email":"xyz@gmail.com","address":"homeaddress1"},{"Name":"EshaRan","email":"ghj@gmail.com","address":"homeaddress2"},{"Name":"Hansa Bella","email":"sas@gmail.com","address":"homeaddress3"}...]}
2) 如果我想发送这个`jsonArray,那么
截击中的请求应该是什么


提前感谢

您可以使用它来转换Java模型的JSON表示形式。

您可以使用GSON lib和Jackson对象映射器

请参见以下GSON代码:

Gson gson = new Gson();
T是下面方法getJSONString中的泛型类(DTO类)

String convertedJson = getJSONString(DTO)

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

假设您的响应字符串或JSON字符串

JSONObject json = new JSONObject(strResponse);
Json.putString("Name","RickBald")
将所有值放入
jsonObject
中,如
Json.putString(“Name”,“RickBald”)

并将其转换为jsonArray

 JSONArray jsonarr = new JSONArray();
 jsonarr.put(json);
输出:

[{"Name":"RickBald","email":"xyz@gmail.com","address":"homeaddress1"},{"Name":"EshaRan","email":"ghj@gmail.com","address":"homeaddress2"},{"Name":"Hansa Bella","email":"sas@gmail.com","address":"homeaddress3"}...]

首先声明数组:

 String[] name ={"yousuf" , "Mohammed" , "Ali" , "Hamood" , "Alex"};
 String[] emails = {"yousuf@dd" , "Mohammed@dd" , "Ali@dd" , "Hamood@dd" , "Alex@dd"};
任何包含数据的数组

然后创建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();
        }
    }
您将得到如下结果:

[{"name":"yousuf","email":"yousuf@dd"},{"name":"Mohammed","email":"Mohammed@dd"},{"name":"Ali","email":"Ali@dd"},{"name":"Hamood","email":"Hamood@dd"},{"name":"Alex","email":"Alex@dd"}]
但您可以通过以下方式对其进行格式化:

您将可以很好地查看数据:

以下是全部代码:

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

    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());
}
public void getDataInJsonFormat(){
String[]name={“优素福”、“穆罕默德”、“阿里”、“哈穆德”、“亚历克斯”};
字符串[]电子邮件={”yousuf@dd" , "Mohammed@dd" , "Ali@dd" , "Hamood@dd" , "Alex@dd"};
JSONArray数组=新的JSONArray();
对于(inti=0;(i
你能用代码显示你的对象吗?学习并发布准备对象数组的代码。谢谢@Shashanth@trunghieu我从这里得到了正确的代码。谢谢
json.put(“Name”,“RickBald”)
not
json.putString(“Name”,“RickBald”)
public void getDataInJsonFormat (){
    String[] name ={"yousuf" , "Mohammed" , "Ali" , "Hamood" , "Alex"};
    String[] emails = {"yousuf@dd" , "Mohammed@dd" , "Ali@dd" , "Hamood@dd" , "Alex@dd"};

    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());
}