Nell'esempio seguente minimalista:Qualcuno può chiarire la codifica Unicode di Gson?
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"
}
}
L'apostrofo viene sostituito da esso è rappresentazione Unicode nella stampa. Tuttavia, la stringa restituita dal metodo toJson
ha letteralmente caratteri '\', 'u', '0', '0', '2', '7'.
Decodificarlo con json in realtà funziona e fornisce la stringa "Apostrofo:" "al contrario di" Apostrofo: \ u0027 ". Come dovrei decodificarlo per ottenere lo stesso risultato?
E una domanda aggiuntiva, perché un carattere unicode casuale come ش viene codificato in modo simile?
Grazie! Inoltre, ho appena visto che JsonReader decodifica tali caratteri usando 'JsonReader.readEscapeCharacter()', che in realtà sembra abbastanza complicato. Molte grazie! – Miquel