2014-11-07 2 views
0

Я пытаюсь создать JsonElement, используя следующий код:значение разбираемой строки в JsonElement дает MalformedJsonException

String updateUrl = myurl + "/new_url"; 
JsonParser parser = new JsonParser(); 
JsonElement updateUrlJsonElement = parser.parse(updateUrl); 

дает мне

com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected EOF at line 1 column 6 
at com.google.gson.JsonParser.parse(JsonParser.java:65) 
at com.google.gson.JsonParser.parse(JsonParser.java:45) 

Любые идеи, как я могу создать JSONElement только с Строковое значение.

+0

Поделиться json также? –

+0

@JunedAhsan Я думаю, что 'myurl +"/new_url "является JSON. Он предназначен для строки JSON. –

+0

@SotiriosDelimanolis Тогда почему исключение - сюрприз;) –

ответ

1

Согласно the JSON format, строка JSON заключена в двойные кавычки. Вам придется приложить значение String в двойных кавычках.

String updateUrl = "\"" + myurl + "/new_url" + "\""; 

Обратите внимание, что вы можете просто создать JsonPrimitive, подтип JsonElement с данной String.

new JsonPrimitive(updateUrl); // without the quotes 
+0

Still: SEVERE: Код ошибки: 400 с ответом: {"name": "MALFORMED_REQUEST", "message": "Запрос JSON не очень хорошо сформирован."} – CodeMonkey

+0

@CodeMonkey Это похоже на ответ сервера. Вы отправляете этот JSON в HTTP-запрос? Что ожидает JSON на вашем сервере? –

+0

yep получил его. Сервер анализирует массив json-объекта, который я отправляю. Черт, я отправлял только объект. Благодаря @Sotirios Delimanolis – CodeMonkey

Смежные вопросы