Php JSON响应中的换行标记非法?

Php JSON响应中的换行标记非法?,php,javascript,jquery,ajax,json,Php,Javascript,Jquery,Ajax,Json,在发送回一些JSON后,JavaScript错误与: Uncaught SyntaxError: Unexpected token ILLEGAL 当我用带换行符的字符串响应时,如: { "call": "myFunction("<ul>↵ <li>Passwords are case-sensitive, that is the lower-case letter \"a\" is diffe...")" } 我用它工作: <script> &l

在发送回一些JSON后,JavaScript错误与:

Uncaught SyntaxError: Unexpected token ILLEGAL 
当我用带换行符的字符串响应时,如:

{ "call": "myFunction("<ul>↵    <li>Passwords are case-sensitive, that is the lower-case letter \"a\" is diffe...")" }
我用它工作:

<script>
<?php
  $json = '{ "call": "myFunction(\\\"<ul>                                                                                                                                 
    <li>Passwords are case-sensitive, that is the lower-case letter \\\"a\\\" is      diffe...\\\")" }';

  $json = str_replace("\n",   "\\\n", $json);
  echo "var str = '".$json."';";
?>

document.write(str);
str = JSON.parse(str);
alert(str.call);
</script>

我用它工作:

<script>
<?php
  $json = '{ "call": "myFunction(\\\"<ul>                                                                                                                                 
    <li>Passwords are case-sensitive, that is the lower-case letter \\\"a\\\" is      diffe...\\\")" }';

  $json = str_replace("\n",   "\\\n", $json);
  echo "var str = '".$json."';";
?>

document.write(str);
str = JSON.parse(str);
alert(str.call);
</script>


如果您正确地生成JSON,就永远不会发生这种情况。向我们展示如何生成JSON。另外,显示原始响应。unquote
call
myFunction之后的双引号(< /代码>也是无效的JSON…@ dCODER,是的,我手动键入那个键。我会修复它。至于双引号它工作,当我试图逃脱它,那么它不工作。你究竟是如何产生那个破JSON?是的,手动修改JSON是个坏主意。发送JS代码作为JSON的一部分更糟糕。考虑编码需要的函数调用。不同的是,例如,作为一个assoc数组,其中包含描述要调用的函数的键和要传递给它的参数。如果正确生成JSON,则永远不会发生这种情况。向我们展示如何生成JSON。同时,向我们展示原始响应。未加引号的
call
myFunction之后的双引号(< /代码>也是无效的JSON…@ dCODER,是的,我手动键入那个键。我会修复它。至于双引号它工作,当我试图逃脱它,那么它不工作。你究竟是如何产生那个破JSON?是的,手动修改JSON是个坏主意。发送JS代码作为JSON的一部分更糟糕。考虑编码需要的函数调用。不同的是,例如,作为一个assoc数组,其中的键描述要调用的函数和要传递给它的参数。