我应该在JSON中编码卷曲或方括号吗?

时间:2016-11-08 13:23:58

标签: mysql json

事实上,标题就是这么说的。但是,我会详细介绍:

我从我的JS脚本向服务器发送一个JSON字符串,反之亦然。 JSON包含用户写入文本字段的内容,但我知道有些用户迟早会以这种方式破解JSON数组,所以我决定使用encodeURIComponent()对其进行编码。

但是我看到,当我尝试编码花括号时,它们根本就没有编码。这会成为一个问题吗?

Encoding of some characters

更确切地说,我担心如果有人写道:} , {,JSON就会中断。这不应该发生,因为所有这些都在这样的双引号中:"} , {",如果用户编写双引号或单引号,它们将被编码,据我所知,JSON应该只处理所有这些很好,但我不完全确定。

那么,我应该编码这些括号吗?

(另一件事是数据是在预编译语句中插入MySQL的,所以这应该不是问题,或者我错了?)

2 个答案:

答案 0 :(得分:3)

来自JSON specifications的快速报价:

  

string 是零个或多个Unicode字符的序列,用双引号括起来,使用反斜杠转义。

正如您在上面引用的段落后面的图像中看到的,除"\和控制字符之外的任何Unicode字符都表示为-is;不需要逃脱。

答案 1 :(得分:2)

为什么要刹车?您的JSON字符串将位于""

所以会像

一样
{"postcontent": "Shouldnt { } be escaped"}