ฉันสังเกตเห็นว่าGsonแปลงสตริง "<" เป็นลำดับการหลีกเลี่ยง Unicode ในเอาต์พุต JSON คุณสามารถหลีกเลี่ยงสิ่งนี้ได้หรือไม่หรืออักขระเช่น "<" และ ">" จะต้องมีค่า Escape ใน JSON
ลองพิจารณาตัวอย่างที่พิมพ์{"s":"\u003c"}
; {"s":"<"}
ฉันต้องการเพียงแค่
public static void main(String[] args) {
Gson gson = new GsonBuilder().create();
System.out.println(gson.toJson(new Foo()));
}
static class Foo {
String s = "<";
}
บริบท: ส่วนของ JSON ที่ฉันสร้างไม่มีส่วนเกี่ยวข้องกับหน้า HTML หรือแม้แต่ JavaScript ใช้เพื่อส่งข้อมูลที่มีโครงสร้างบางอย่างไปยังซอฟต์แวร์อื่น (ฝังอยู่ในอุปกรณ์เขียนด้วยภาษา C)
2
GSON ผิดนัดที่จะทำเช่นนั้นหรือไม่? โว้ว. นั่นเป็นการตั้งค่าเริ่มต้นที่ค่อนข้างแปลกแม้ว่าจะต้องทำตามกฎหมายอย่างสมบูรณ์แบบจากมุมมองข้อมูลจำเพาะของ JSON
—
StaxMan
ใช่มันก็น่าแปลกใจสำหรับฉันเช่นกัน โชคดีที่วิธีการรักษานั้นง่ายมากเมื่อคุณรู้ว่าต้องดูที่ไหน :) มิฉะนั้นหลังจากสัมผัสกับมันมาหนึ่งวันฉันพบว่า Gson เป็นห้องสมุดที่สะอาดและสวยงามจริงๆพร้อมคู่มือผู้ใช้ที่ยอดเยี่ยมด้วย!
—
Jonik
นอกจากนี้ยังเกิดขึ้นกับอักขระ "=" ซึ่งเปลี่ยนเป็น "\ u003d"
—
Russell Silva