質問

extJSを介したPOSTリクエストから受け取った入力ストリームは、CP1252エンコーディングにあります。 inputSteamをデコードして、JSON文字列を使用して適切なJava Beanに変換できるようにするにはどうすればよいですか。

inputStreamReaderのgetEncoding()メソッドを使用してエンコードを見つけました。

extjsは次の形式でデータを送信します。

recordsToSend=%5B%7B%22StartDate%22%3A%222011-03-23T00%3A00%3A00%22%2C%22EndDate%22%3A%222011-03-23T01%3A00%3A00%22%2C%22IsAllDay%22%3Afalse%2C%22CalendarId%22%3A1%2C%22Title%22%3A%22saved%22%7D%5D

に変換する必要があります:

[{"StartDate":"2011-03-23T00:00:00","EndDate":"2011-03-23T01:00:00","IsAllDay":false,"CalendarId":1,"Title":"saved"}]
役に立ちましたか?

解決

それは、通常のchars-to-bytesの意味でエンコードするキャラクターではありません。それは何らかの形の逃亡です。おそらくURLが逃げます。かどうかを確認します java.net.urldeCoder 役立ちます。

inputStreamReader.getEncoding()メソッドは、基礎となる入力ストリームからバイトをデコードするために読者が使用しているエンコードを使用していることのみを示します。これは、構築時に指定されているか、省略されている場合はプラットフォームのデフォルトに設定されます。基礎となるバイトストリーム内の文字の実際のエンコードについては何も教えてくれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top