在android中创建json数组格式

时间:2017-11-17 09:28:38

标签: android json arraylist

我想创建json请求字符串。我怎样才能做到这一点?这是我的以下数组:

[1,2,3,4,5];

现在我想创建这种类型的json请求:

{
    "contact_approve":[
    {
    "contact_id":1    
    },
    {
    "contact_id":2    
    },
    {
    "contact_id":3    
    },
    {
    "contact_id":4    
    },
    {
    "contact_id":5    
    },
    ]

} 

有没有人知道如何创建这种类型的json字符串?

5 个答案:

答案 0 :(得分:0)

这是代码:

  try {
        JSONObject jsonObject = new JSONObject();
        JSONArray array = new JSONArray();
        int[] dataArray = {1,2,3,4,5};
        for( int i=0;i<dataArray.length;i++) {
            JSONObject internalObject = new JSONObject();
            internalObject.put("contact_id",dataArray[i]);
            array.put(internalObject);

        }
        jsonObject.put("contact_approve", array);

        System.out.print(jsonObject);
        Log.v("JsonObject",jsonObject.toString());
    } catch (JSONException e) {
        e.printStackTrace();
    }

由于

答案 1 :(得分:0)

很简单,您可以使用Gson库将对象转换为json,如下所示;

Gson gson = new Gson();
String json = gson.toJson({your object you want to convert to json});

另外要提的是,如果您向服务器发送请求,您甚至不需要自己进行json序列化,使用Retrofit它会为您执行此操作。

答案 2 :(得分:0)

遍历数组并打印每个元素的相关字符串。

public static String ConvertToContactJson(int [] array)
{
    String finalstr = "{\"contact_approve\":[";

    for (int i=0; i< array.length; i++)
    {
        finalstr += "{\"contact_id\":"+array[i]+"}";

        if (i < array.length-1) finalstr += ",";
    }

    finalstr += "]}";

    return finalstr;
}

答案 3 :(得分:0)

  

试试这个

try{

JSONArray jarray=new JSonArray();

for(int i=0;i<array.size();i++){

JSONObject j=new JSONObject();
j.put("contact_id",array[i]);

jarray.put(j);

}
}catch(Exception e){

e.printStackStrace();

}

答案 4 :(得分:0)

以{}开头的

JSONObject 以[]开头的 JSONArray 在你的情况下,你有一个JSONObject,它有一个JSONArray。

让我举个例子。

  public void createJson() throws JSONException {
    // Create main JSON object
    JSONObject jsonObject = new JSONObject();

    //Create an JSON ARRAY which will have a key "contact_approve" later on
    JSONArray jsonArray = new JSONArray();

    Integer contacts[] = {1,2,3,4,5};
    for (int i = 0; i < contacts.length ; i++) {
        JSONObject contactID = new JSONObject();
        jsonArray.put(contactID.put("contact_id", i));
    }

    jsonObject.put("contact_approve", jsonArray);

    String json = jsonObject.toString();
    Log.d("JSON", json);
}

如果您需要解析JSON响应,请查看Moshi和GSON库,让您的一天更美好。这些库可以将JAVA类解析为JSON。 我使用[https://codebeautify.org/jsonviewer]来查看或缩小json。

祝你好运。