无法在Js中将字符串解析为Json对象

时间:2018-02-13 09:28:23

标签: javascript json parsing jsonparser

json字符串如下:

=MATCH(Value to find, Column/Row where to find it, less_than/equal/greater_than)

JSON.parse()无法将此字符串解析为object。问题出在 \" Shiva驻留\" 字符串中。 JSON无法解析内部双引号("")字符串。

有人可以帮我解决这个问题。

4 个答案:

答案 0 :(得分:0)

问题在于:

  

[“40/207,”Shiva residentncy“,近iscon mega mall,S.G。Highway”]

您需要添加“到这些字符串:

  

[“40/207”,“Shiva residentncy”,“近iscon mega mall,S.G。Highway”]

编辑: 如果需要使用整个字符串,请使用以下命令:

  

“{\”d_obs \“:1999,\”f_name \“:\”p_add \“,\”f_str \“:\”CCD \“,   \“d_left \”:48.9,\“d_pos_label \”:\“YES \”,\“left \”:[48.9],\“cat \”:   [\“40/207,\\”Shiva residency \\“,近iscon mega mall,S.G。   Highway \“],\”obs \“:[1999]}”

答案 1 :(得分:0)

我认为您在逃避时遇到错误。我有以下字符串:

"{\"d_obs\": 1999, \"f_name\": \"p_add\", \"f_str\": \"CCD\", \"d_left\": 48.9, \"d_pos_label\": \"YES\", \"left\": [48.9], \"cat\": [\"40\/207\", \"Shiva residency\", \"Near iscon mega mall\", \"S.G. Highway\"], \"obs\": [1999]}"

对于其他问题,我建议使用this等在线转义工具。

答案 2 :(得分:0)

问题在于逃避字符串" Shiva驻留"在双引号中的字符串内部,也在双引号的字符串内。如果可能,请勿手动创建JSON。在前面使用JSON.strigify或在背面使用像gson(对于java)的一些lib。



console.log(JSON.parse("{\"d_obs\": 1999, \"f_name\": \"p_add\", \"f_str\": \"CCD\", \"d_left\": 48.9, \"d_pos_label\": \"YES\", \"left\": [48.9], \"cat\": [\"40/207, \\\"Shiva residency\\\", Near iscon mega mall, S.G. Highway\"], \"obs\": [1999]}"))




此外,在js代码中使用单引号要容易得多,因为在html和json中广泛使用双引号。使用单引号,您无需逃避一切。

答案 3 :(得分:0)

(更新)问题在于(实际结果):

[“40/207,”Shiva residentncy“,近iscon mega mall,S.G。Highway”]

您需要删除\“到这些字符串(预期结果):

[“40,Shiva residentncy,Near iscon mega mall,S.G。Highway”]

(更新)运行此示例,它可以正常工作:

mysql -u database_user -p -h remote_server_url < database_file.sql

(更新)结果将是:

const str = "{\"d_obs\": 1999, \"f_name\": \"p_add\", \"f_str\": \"CCD\", \"d_left\": 48.9, \"d_pos_label\": \"YES\", \"left\": [48.9], \"cat\": [\"40, Shiva residency, Near iscon mega mall, S.G. Highway\"], \"obs\": [1999]}";

const obj = JSON.parse(str);
console.log(obj);