Estoy tratando de enviar valores de cadena grandes (foto(s) formateada(s) en base64) con la biblioteca de red de Android (OkHttp).
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()....Estoy recibiendo esta excepción:
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)¿Cómo puedo enviar valores de cadena muy largos?
Usé Fast Android Networking con Jackson Parser y el problema se resolvió :)
implementation 'com.amitshekhar.android:jackson-android-networking:1.0.2' AndroidNetworking.setParserFactory(new JacksonParserFactory());