我需要将一个byte []列表作为json参数发送到.net(wcf)服务器。可能吗?或者我应该进行base64编码并继续?
例如,我需要在json对象中传递sessionId(String
)和datalist(ArrayList<byte[]>
)。我正在使用Retrofit Library,创建请求模型POJO并发送。 sessionId已在服务器中收到,但对于&lt; datalist&#39;,服务器收到空。
先谢谢
答案 0 :(得分:0)
尝试此代码,这是将JSON数据发送到restful Web服务的方法:
JSONArray jsonArray=new JSONArray();
ArrayList<byte[]>arrayList=new ArrayList<byte[]>();
Iterator<byte[]> itr=arrayList.iterator();
while (itr.hasNext()) {
byte[] bs = (byte[]) itr.next();
JSONObject temp=new JSONObject();
temp.put("byte",bs.toString());
jsonArray.put(temp);
}
// create HttpClient
HttpClient httpclient = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
StringEntity se = new StringEntity(jsonArray.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setEntity(se);
HttpResponse response = httpclient.execute(post);
InputStream inputStream = response.getEntity().getContent();
// convert inputstream to string