0

HttpUrlConnectionJavaアプリケーションとWebアプリケーションの間にあります。Javaアプリケーションには、次のコードがあります。

exchange.sendResponseHeaders(HttpURLConnection.HTTP_OK, response.getBytes().length);
exchange.getResponseHeaders().set("content-type", "application/json");
exchange.getResponseBody().write(response.getBytes());
exchange.close();

2行目に間違ったコードがあると思いますが、どうすればよいかわかりません。交換はタイプHttpExchangeです。

文字列応答には次のものが含まれます。{ batteryMax: 22000, batteryCharge: 860, carRange: 350 }

次のコードでデータを取得します。

var jsonData;
var jqxhr = $.getJSON("http://145.93.73.69:8080/getInfo", function(data) {
    jsonData = data
})
.error(function() { alert("error"); });

error常にアラートを受け取り、jsonData未定義のままで、をjqxhr.responseText含みます{ batteryMax: 22000, batteryCharge: 860, carRange: 350 }

この機能を実現するには、何を変更する必要がありますか?

4

2 に答える 2

5

Jsonはこのようにする必要があります

{ "batteryMax": 22000, "batteryCharge": 860, "carRange": 350 }
于 2013-01-14T12:38:08.170 に答える
0

私は解決策を見つけました:

                ObjectMapper mapper = new ObjectMapper();
                mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
                //JsonNode df = mapper.readValue(response, JsonNode.class);
                byte[] responseInBytes = mapper.writeValueAsBytes(response);

Jackson を使用して、持っていた文字列から JSON ノードを作成し (+ キーを一重引用符で囲みます)、動作します。

于 2013-01-16T09:35:32.687 に答える