我想创建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字符串?
答案 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。
祝你好运。