我正在与一个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