1

私は多くのスレッドを読みましたが、実際にはこれまでのところどれも役に立ちませんでした。いくつかのUTF8文字を含むJSONをダウンロードして解析しようとしています。これらの構文のエンコードを除いて、すべてが正常に機能します。手伝っていただけませんか?

HttpGet request = new HttpGet(uri);
HttpResponse resp = client.execute(request);
entity = resp.getEntity();
fos = context.openFileOutput(fileSavePath, Context.MODE_PRIVATE); //fos is FileOutputStream
entity.writeTo(fos);
entity.consumeContent();
fos.flush();
fos.close();

次に、次のようにファイルを開きます。

stream = context.openFileInput(AppConfig.CATEGORIES_JSON_PATH);
reader = new InputStreamReader(stream, StringUtils.UTF8);

gsonのものは正しく、ファイルを開いて保存するだけで問題ないと思います。また、間違いはentity.writeTo(fos);にあると思います。これは、エンコーディングが指定されていないためです。だから私はバイトバッファとOutputStreamWriterで書いてみましたが、gsonはMalformedJsonException:Unterminetedstring..をスローしました。

どんな助けでも大歓迎です

4

1 に答える 1

0

問題は自然に解決しました。sqliteデータベースを検索している間、文字が正しくありませんでしたが、アプリではすべてが正常に見えます。

于 2012-10-12T10:41:40.660 に答える