我想要创建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字符串吗?
发布于 2017-11-17 09:41:15
这是代码:
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();
}谢谢
发布于 2017-11-17 09:42:00
很简单,您可以使用Gson库将对象转换为json,如下所示;
Gson gson = new Gson();
String json = gson.toJson({your object you want to convert to json});另外要提到的是,如果您向服务器发送请求,您甚至不需要自己进行json序列化,请使用Retrofit,它将为您完成此任务。
发布于 2017-11-17 09:46:45
遍历数组并打印每个元素的相关字符串。
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;
}https://stackoverflow.com/questions/47347241
复制相似问题