JSON , Anfrage klappt nicht

xrax

Erfahrenes Mitglied
Hallo zusammen,

mein Servlet verarbeitet keine JSON-Anfragen. Wahrscheinlich habe ich einen Grundsätzlichen denkfehler. Hier der Code:

Hier kommt die Anfrage im Servlet an:

Java:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     new MyTest().json_in(request,response);
...........................................
}

hier sollte was verarbeitet werden.

Java:
    public void json_in(HttpServletRequest request,HttpServletResponse response) throws Exception{
        ServletInputStream servStream=request.getInputStream();
        JsonReader jsonReader = Json.createReader(servStream);
        JsonObject jsonObject = jsonReader.readObject();

Nun rufe ich das Servlet und hänge im QueryString die Parameter an:
Also sowas: http://www..........?[123,234]

Als ergebniss erhalte ich die Fehlermeldung:

Java:
javax.json.JsonException: Cannot auto-detect encoding, not enough chars
    at org.glassfish.json.UnicodeDetectingInputStream.detectEncoding(UnicodeDetectingInputStream.java:131)
    at org.glassfish.json.UnicodeDetectingInputStream.<init>(UnicodeDetectingInputStream.java:76)
    at org.glassfish.json.JsonParserImpl.<init>(JsonParserImpl.java:76)
    at org.glassfish.json.JsonReaderImpl.<init>(JsonReaderImpl.java:68)
    at org.glassfish.json.JsonProviderImpl.createReader(JsonProviderImpl.java:131)
    at javax.json.Json.createReader(Json.java:220)
    at rest_tool.JSON_BASE.json_in(JSON_BASE.java:38)

Rufe ich so : .......?[\"abc\",234] bekomme ich diese Meldung

Java:
Illegal character in query at index 38

Ich benutze den Apache Tomcat/6.0.41 und javax.json-1.0.4.jar

Wäre schön wenn mir hierzu jemand sagen könnte wo ich falsch liege.

Besten Dank
xrax
 
Warum rufst du das ganze nicht so auf ?
http://www.....?json=[123,234]

Dann kannst du im Code mit
Java:
String json= request.getParameter("json");
Und aus dem Inhalt dein Json Object erzeugen...

Noch ein Tipp: Mit ner Restful Lib musst du die evtl. mit dem Parsing nicht mehr auseinander setzten...
 
Zurück