Последние пару дней я пытался заставить GWT интерпретировать либо JSONValue, либо строку XML, которая передается обратно с сервера (с использованием PHP).
Я очень расстроен, потому что мне кажется, что я ничего не могу заставить работать. Для XML я подтвердил, что строка, переданная из PHP в GWT, является правильной строкой XML. Однако, когда я пытаюсь разобрать XML, я получаю кучу нулевых ошибок.
С помощью JSON я получаю следующее от PHP:
Value: {"item":[{"ID":null, "Primary":null, "Secondary":null, "Date":null, "Region":null},{"ID":null, "Primary":null, "Secondary":null, "Date":null, "Region":null},{"ID":null, "Primary":null, "Secondary":null, "Date":null, "Region":null}]}
Понятия не имею, почему значения равны NULL, но вот как GWT выглядит для JSON:
public void onChange(Widget sender) {
lb.setText("Date selected: " + calendar.getDate());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String current = df.format(calendar.getDate());
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode("http://www.kbehr.com/calendar/view_duty.php"));
try {
builder.sendRequest(current, new RequestCallback(){
public void onError(Request request, Throwable exception) {
requestFailed(exception);
}
public void onResponseReceived(Request request, Response response) {
String responseText = response.getText();
try {
JSONValue jsonValue = JSONParser.parse(responseText);
processJSON(jsonValue);
} catch (Exception e) {
Window.alert("Error: " + e);
}
}});
}catch (RequestException ex) {
requestFailed(ex);
}
}});
fp.add(calendar);
fp.add(lb);
}
public void processJSON(JSONValue messageXml) {
vp.clear();
vp.add(new Label("Value: " + messageXml));
RootPanel.get("slot2").add(vp);
}
Кто-нибудь знает, что я делаю не так с JSON? Я делаю json_encode ($ array) в PHP, и я не знаю, как его разбить в GWT.
К сожалению, в Интернете тоже не так много примеров ...
Спасибо!