我正在尝试用android网络库(okhttp)发送大字符串值(base64格式的照片)。
JSONObject jsonObj= new JSONObject();
JSONArray photosBase64JsonArray = new JSONArray();
for (String photoBase64:myPhotosBase64
) {
photosBase64JsonArray.put(photoBase64);
}
jsonObj.put("photos", photosBase64JsonArray);
AndroidNetworking.post(serverAddress)
.addJSONObjectBody(jsonObj)
.setPriority(Priority.IMMEDIATE)
.addHeaders("myHeader", "testing")
.build()
.getAsJSONObject()....
我得到一个例外:
java.lang.StackOverflowError: stack size 8192KB
at java.lang.StringBuilder.append(StringBuilder.java:203)
at org.json.JSONStringer.string(JSONStringer.java:354)
at org.json.JSONStringer.value(JSONStringer.java:261)
at org.json.JSONObject.writeTo(JSONObject.java:733)
at org.json.JSONObject.toString(JSONObject.java:701)
at com.androidnetworking.common.ANRequest$PostRequestBuilder.addJSONObjectBody(ANRequest.java:1394)
如何发送很长的字符串值?
1条答案
按热度按时间h9a6wy2h1#
使用了带有jackson解析器的快速android网络,并解决了以下问题:)