Проблема кодировки в android и json

261
06 апреля 2018, 19:44

Мне нужно из приложения андроид передать строку с кириллицей в список который находится в sharepoint от microsoft,использую для этого JSONObject(org.json),все int значение и латиница передается отлично, а вот с кириллицей возникает полный беспредел Тут код с заполнением JSONObject: task.costReg,Task,costCard,Task.costPromo это инт task.comment - стринг строка которая не хочет нормально передаваться,вводится из

String data = "{'__metadata':{'type':'SP.Data.TaskListItem'}}";
    JSONObject json = null;

    try {
        json = new JSONObject(data);
        if (task.costReg != 0) {
            json.put("task_costreg", task.costReg);
        }
        if (task.costCard != 0) {
            json.put("task_costcard", task.costCard);
        }
        if (task.costPromo != 0) {
            json.put("task_costpromo", task.costPromo);
        }
        try {

            json.put("task_commet",task.comment);
        } catch (Exception e) {
            Log.d("TAG",e.toString());
        }

Тут объект отправляется на сверер sharepoint

 Utils.sendJSONObject(activity
                , authRes.getAccessToken()
                , formDigestValue
                , json.toString()
                , "https://pointbox.sharepoint.com/boxpoint/_api/web/lists/GetByTitle(%27Task%27)/items(" + task.dbId + ")"
                , new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        task.sync = true;
                        callback.callback();
                    }
                }
                , new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        task.sync = false;
                        callback.callback();
                    }
                });
    } catch (JSONException e) {
        e.printStackTrace();
        Log.d("TAG",e.toString());
    }

При таком подходе выдает ошибку java.net.ProtocolException: exceeded content-length limit of 256 bytes пробовал переводить в строку с кодировкой UTF-8

json.put("task_commet",new String(task.comment.getBytes("UTF-8")));

но ошибка такая же

READ ALSO
Можно ли из одного Stream достать сразу и min() и max()? (java)

Можно ли из одного Stream достать сразу и min() и max()? (java)

Пусть есть IntStream, возможно ли получить из него допустим массив или лист, в котором будут 2 значения min и max стрима? Либо можно ли вообще каким-то...

247
Java не видит переменные окружения

Java не видит переменные окружения

Есть проект с mavenВ нем есть такие строки:

228
String format EngishLocale

String format EngishLocale

Почему если в Stringformant() передать Locale

225
Надо ли удалять объект Runnable()?

Надо ли удалять объект Runnable()?

Есть метод с кодом

223