我正在与一个MySQL数据库编码多边形谷歌地图。当我尝试返回json查询时,jsonlint抱怨…我不知道为什么它会抱怨,我确实尝试在latlon中转义"}",但仍然得到相同的错误。
<>之前解析第20行错误:…:"latlon} ciuF |的| pNcUr@d@es@-----------------------^期待"字符串","数量","空","真正的"、"假 ', '{', '['之前我的json是:
<>之前{"地图":({"group_id":"0","user_id":"113","group_name":","注意":","field_id":","field_name": "West牧场","field_notes":",:"date_created 12/31/2012","亩":"}],"多边形":({"polygon_id":","field_id":"1","亩":"92",:"latlon} ciuF |的| E pNcUr@d@es@fIHXaNtCn@UxCjMlApAfFuBpI} ChJdEl@xAtE"}]}问题是C前面有一个斜杠,这不是一个有效的转义序列。
"}ciuF|a|pNcUr@d@es@fIHXaNtCn@ uxcjmlapaffubpi}E C
hJdEl@xAtE"
JSON.parse('"\C"');
这将给你一个语法错误,因为它试图解析字符串C
。如果你想要一个文字在你的属性值中,你需要转义它。
"latlon": "}ciuF|a|pNcUr@d@es@fIHXaNtCn@UxCjMlApAfFuBpI}E\ChJdEl@xAtE"
官方语法的相关部分:
string
""
" chars "
chars
char
char chars
char
any-Unicode-character-
except-"-or--or-
control-character
"
\
/
b
f
n
r
t
u four-hex-digits