JSONStringer дает нулевой объект в Android 2.1 (обновление) - PullRequest
0 голосов
/ 29 мая 2011

Я делаю пост-звонок в веб-сервис, отправляя объект в формате JSON. Я использую GSON для преобразования моего объекта в JSON и JSONStringer для создания пары ключ-значение для отправки на сервер при вызове post.

    JSONStringer billString = new JSONStringer().object()
                .key("details").value(new JSONObject(json));
   CustomHttpRequest request = new CustomHttpRequest(WebserviceBaseAddress);
        request.AddHeader("Accept", "application/json");
        request.AddHeader("Content-type", "application/json");
        request.AddParam("entity", billString.toString());
        request.GetRequest(RequestMethod.POST);

Эта строка кода отлично работает в Android 2.2, но 2.1, billString имеет значение null. Вот почему я получаю нулевое исключение для (request.AddParam("entity", billString.toString());) Кто-нибудь может сказать мне, в чем здесь проблема? Или есть какой-нибудь способ создать пару ключ-значение для вызова post в GSON, чтобы можно было удалить JSONStringer?

Спасибо Ashwani

1 Ответ

1 голос
/ 30 мая 2011

Изменить

JSONStringer billString = new JSONStringer().object()
                .key("details").value(new JSONObject(json));

на

String billString = new JSONStringer().object()
                .key("details").value(new JSONObject(json)).endObject().toString();

Синтаксис объекта должен быть сбалансирован - есть начало и конец.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...