2016-11-08 52 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