Я пытаюсь разобрать ответ от сервера что-то вроде этогоПолучение значения из ответов Json, который имеет «» вокруг параметры
public class TestClass {
public class TaskResponse {
private String id;
private List<String> links;
public String getId(){
return id;
}
}
public static void main(String args[]){
String response = "{
"task": {
"id": 10,
"links": [
{
"href": "http://localhost:9000/v1/115e4ad38aef463e8f99991baad1f809/os-hosts/svs144/onboard/10"
}
]
}
}";
JsonParser parser = new JsonParser();
JsonObject obj = parser.parse(response).getAsJsonObject();
Gson gson = new Gson();
TaskResponse tskResponse = gson.fromJson(response, TaskResponse.class);
String taskId = tskResponse.getId();
System.out.println("The task Id is "+taskId);
}
}
В то, что я изначально делал я получаю идентификатор задачи утратившим но в этом коде, который я написал выше, чтобы попытаться понять проблему, Eclipse дает ошибку в ответе строки, он не признает, что это правильная строка. Пожалуйста, убедитесь, что я не могу изменить строку ответа, поскольку она исходит от сервера. Любая помощь любого рода или любые ссылки для устранения ошибки будут высоко оценены. Thanx в Advance.
Если вы объявляете String в Java для целей тестирования, вам нужно избежать двойных кавычек внутри строки с использованием обратного слэша, поэтому '\' '. –
Кроме того, я не знаком с Gson (I у меня никогда не было случая работать с JSON на Java), но я не понимаю, как он должен знать, что делать с объявленным в вашем ответе свойством 'task'. –
Не использовал бы' '' в JSON быть более удобным? – mabi