作者flowwinds (..)
看板java
標題[問題] 請問gson處理json時有哪些特殊字元escape?
時間Mon May 8 19:40:40 2017
大家好,
而且我太明白
http://json.org/ 裡面的這個圖
http://json.org/string.gif 像裡面包含了 / escape後應該是 \/
不過gson處理後似乎沒變這樣
JsonObject json = new JsonObject();
json.addProperty("test", "/");
System.out.println(json.toString());
印出的結果是 {"test":"/"}
這是表示gson在處理一些字元的escape跟規格的不同嗎?
那請問有人知道它是怎麼處理的特殊字元跳脫呢?
還有圖最底下有 u 4 hexdecimal digits這是什麼意思? 不太懂
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.159.185.222
※ 文章網址: https://www.ptt.cc/bbs/java/M.1494243645.A.F00.html
※ 編輯: flowwinds (49.159.185.222), 05/08/2017 19:43:04
※ 編輯: flowwinds (49.159.185.222), 05/08/2017 19:45:22
→ ssccg: 又沒有一定要escape... 05/08 19:52
→ ssccg: 從中間那條規則不就很清楚了只有"和\才一定要escape 05/08 19:53
→ ssccg: (非控制字元的部分) 05/08 19:53
→ ssccg: \u就unicode escape,16進位表示一個16-bit的code point 05/08 20:04
→ pttworld: u的後面必須是4個16進位數值,你在編輯器上沒看過嗎 05/08 20:04
→ flowwinds: 原來沒有一定要escape, 可以走中間或下面的, 謝謝說明 05/08 20:17
→ flowwinds: 那再請問有人知道gson裡是怎麼做escape的嗎? 05/08 20:18
→ flowwinds: An unicode character except " or \ or control chara 05/08 20:21
→ flowwinds: cter, 中間那條規則是這樣寫, 碰到"應該就算結束, 碰到 05/08 20:22
→ flowwinds: \ 應該就是要escape了吧, 難道escape不是都照下面規則? 05/08 20:22
→ flowwinds: 不好意思這邊我不太明白.. 05/08 20:23
→ flowwinds: 謝謝s大及p大的說明,我想我明白了,謝謝~ 05/08 20:30
→ ssccg: 從左邊進去,下一個token符合任何一條能走的路就ok,上面第 05/08 20:40
→ ssccg: 二條是繞回來(除了前後的""以外,其他token都用同一個規則) 05/08 20:40
→ ssccg: 這不是編碼規則,是在描述合法字串長怎樣的文法規則 05/08 20:42