0

org.json.* の JSONObject を使用しています。

このような文字列フィールドで JSONObject を構築する必要があります

field:"englishletters123\u1234\u3456"//UTF-8 encoding

だから、私はこれをやっています

myJSONObject.put("field", myString);

しかし、これの代わりに、UTF-8 表現ではなく流暢な (英語以外の) 文字を含むオブジェクトを取得しています。

String newString = new String(oldString.getBytes(...), ...);
myJSONObject.put("field", newString);

うまくいかない

そのような操作を行う方法はありますか?たぶん、他のライブラリを使用する必要がありますか?

4

1 に答える 1

0

私はその JSON シリアル化ライブラリにあまり詳しくありませんが、あなたが尋ねたので、Google の GSON ライブラリは素晴らしいです。リフレクションを通じてほぼすべてを処理します。作成しようとしている JSON テキストの説明に適合するオブジェクトを作成するのと同じくらい簡単です。

例えば:

public class Thing{
    public String field = "whatever you want";
}

Gson gson = new Gson();

String jsonString = gson.toJson(new Thing());

逆シリアル化も簡単です。

Thing t = gson.fromJson(jsonString, Thing.class);

もちろん、ライブラリには他にもたくさんありますが、それが基本です。

于 2012-10-08T20:42:36.340 に答える