Javascript 未捕获SyntaxError:当我从API接收JSON响应时,出现意外标识符

Javascript 未捕获SyntaxError:当我从API接收JSON响应时,出现意外标识符,javascript,php,json,Javascript,Php,Json,我已经使用mysqli\u real\u escape\u字符串在用户表中插入了用户详细信息。一个地址包含一个特殊字符,即20,国家公园一楼。由于这个特殊字符,JSON无法解析并抛出错误消息Uncaught SyntaxError:意外标识符 PHP API h 用于解析脚本的JS代码 我在API中添加了addslashes函数来添加斜杠,这样就不会发生错误,但不起作用有双斜杠\\来转义特殊字符。它应该只是一条斜线 var雇员[{用户id:5b62f1568abb1,员工类型:副管理员,雇佣类

我已经使用mysqli\u real\u escape\u字符串在用户表中插入了用户详细信息。一个地址包含一个特殊字符,即20,国家公园一楼。由于这个特殊字符,JSON无法解析并抛出错误消息Uncaught SyntaxError:意外标识符

PHP API

h

用于解析脚本的JS代码


我在API中添加了addslashes函数来添加斜杠,这样就不会发生错误,但不起作用

有双斜杠\\来转义特殊字符。它应该只是一条斜线

var雇员[{用户id:5b62f1568abb1,员工类型:副管理员,雇佣类型:全职,称呼:先生,名字:Shan,姓氏:Biswas,电子邮件:shanbiswas@rediffmail.com,国家代码:+91,电话号码:8448412789,邮寄地址:拉巴特-纳加尔4号国家公园一楼20号,永久地址:拉巴特-纳加尔4号国家公园一楼20号,永久州:德里,永久城市:新德里,永久国家:印度,永久国家代码:110024,年龄:,用户状态:活动,出生日期:空,创建时间:2018-08-02 05:56:06}; var object=JSON.parseemployees; console.logobject; 您几乎不应该使用addslashes,而应该使用特定于数据格式的转义函数

完全删除上面的行。接下来是您的编码:

不要那样做

JSON是JavaScript的一个子集。请直接使用它

employees = <?php echo json_encode($employees); ?>;
试图将其包装成字符串文字,以便可以通过JSON解析器传递,这只是自找麻烦

如果你真的想这样做,而且这是毫无意义的!那么就使用一个函数,它将获取一个PHP字符串并从中生成JavaScript源代码。不要试图通过添加引号和转义来手动编码它

employees = <?php echo json_encode(json_encode($employees)); ?>;
employees = JSON.parse(employees);

我只是用addslashes括起来了ADDRESS变量,如果我删除了它,就不会在其中添加正斜杠。我不知道双斜杠是怎么来的。在将数据编码为以“.”分隔的字符串文字后,您对数据进行了JSON编码。这是JSON中的一个特殊字符,需要转义。
employees = '[{"user_id":"5b62f1568abb1","employee_type":"sub_admin","employment_type":"full_time","salutation":"mr","first_name":"Shan","last_name":"Biswas","email":"shanbiswas@rediffmail.com","country_code":"+91","phone_number":"8448412789","mailing_address":"20, National Park, 1st floor, Lajpat nagar 4","permanent_address":"20, National Park\\'s 1st floor, Lajpat nagar 4","permanent_state":"Delhi","permanent_city":"NEW DELHI","permanent_country":"India","permanent_zipcode":"110024","age":"","user_status":"active","date_of_birth":null,"created_at":"2018-08-02 05:56:06"}]';
$arr['permanent_address'] = addslashes($row_emp->permanent_address); // add double slash
employees = '<?php echo json_encode($employees); ?>';
employees = JSON.parse(employees);
employees = <?php echo json_encode($employees); ?>;
employees = <?php echo json_encode(json_encode($employees)); ?>;
employees = JSON.parse(employees);