次の最小限の例では:
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class GsonStuff {
public static void main(String[] args) {
GsonBuilder builder = new GsonBuilder();
Gson gson = builder.create();
System.out.println(gson.toJson("Apostrophe: '"));
//Outputs: "Apostrophe: \u0027"
}
}
アポストロフィは、印刷物での Unicode 表現に置き換えられます。ただし、toJson
メソッドから返される文字列には文字どおり「\」、「u」、「0」、「0」、「2」、「7」が含まれます。
json でデコードすると実際に機能し、"Apostrophe: \u0027" ではなく "Apostrophe: '" という文字列が得られます。同じ結果を得るには、どのようにデコードすればよいですか?
追加の質問として、なぜ ش などのランダムな Unicode 文字が同様にエンコードされないのでしょうか?