2016-11-08 49 views
0

事實上,標題說明了一切。但是,我會更詳細地介紹:我應該在JSON中編碼捲曲或方括號嗎?

我從我的JS腳本發送一個JSON字符串到服務器,反之亦然。 JSON包含用戶寫入文本字段的某些內容,但我知道某些用戶會設法以這種方式破壞JSON數組,所以我決定使用encodeURIComponent()對其進行編碼。

但我看到,當我嘗試對大括號進行編碼時,他們根本沒有編碼。這會是一個問題嗎?

Encoding of some characters

更確切地說,我怕,如果有人寫道:} , {,則JSON將打破。這不應該發生,因爲它都是在這樣的雙引號內:"} , {",並且如果用戶編寫雙引號或單引號,他們將被編碼,並且從我所知道的,JSON應該處理所有這些都很好,但是我我不完全確定。

那麼,我應該編碼這些括號嗎?

(另一件事是,將數據插入到MySQL準備好的語句裏面,所以這不應該是一個問題,還是我錯?)

回答

3

快速報價從JSON specifications

一個是零個或多個Unicode字符的序列,用雙引號包裹,使用反斜槓轉義符。

正如你可以遵循上面引述的段落,除了"\和控制字符的任何Unicode字符在圖像中看到被表示爲 - 是;不需要轉義。

2

爲什麼會剎車?您的JSON字符串將裏面""

那麼將會像

{"postcontent": "Shouldnt { } be escaped"} 
+0

看來,在這種情況下,我正確與我的hipothesis我只寫... – Fusseldieb

+0

是的,唯一的問題可能來自單引號和雙引號,但你說是編碼那些;) –

+1

單引號不是特殊字符在JSON中。他們不需要任何編碼或轉義。 – axiac