2 Stimmen

Frustration beim Parsen von XML oder JSON mit GWT

In den letzten Tagen habe ich versucht, GWT zu interpretieren entweder ein JSONValue oder eine Zeichenfolge von XML, die zurück vom Server (mit PHP) übergeben wird.

Ich bin ziemlich frustriert, weil ich anscheinend nichts zum Laufen bringen kann. Was das XML betrifft, so habe ich bestätigt, dass der von PHP an GWT übergebene String ein korrekter XML-String ist. Wenn ich jedoch versuche, die XML zu parsen, erhalte ich eine Reihe von Null-Fehlern.

Mit dem JSON erhalte ich folgendes von 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}]}

Ich habe keine Ahnung, warum die Werte NULL sind, aber das ist, wie die GWT für die JSON aussieht:

 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);

 }

Weiß jemand, was ich mit dem JSON falsch mache? Ich bin dabei json_encode($array) in der PHP, und ich habe keine Ahnung, wie es in GWT zu brechen.

Leider gibt es auch online nicht viele Beispiele...

Danke!

1voto

Steve Armstrong Punkte 5024

Es sieht so aus, als ob Ihr erstes Problem serverseitig (PHP) ist und nichts mit GWT zu tun hat. Gehen Sie einfach auf Ihre Seite ( http://www.kbehr.com/calendar/view_duty.php ) sollte irgendeine Art von Daten zurückgeben, nicht einen ganzen Haufen Nullen (wahrscheinlich).

Wie Sie den JSON-Parser in GWT verwenden, erfahren Sie unter aquí und lesen Sie weiter bei "2. die Bearbeitung von JSON-Daten im clientseitigen Code".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X