当前位置: 首页 > 面试题库 >

json解析错误,带双引号

邢同
2023-03-14
问题内容

即使已转义,双引号也会引发解析错误。
看下面的代码

//parse the json in javascript  
var testJson = '{"result": ["lunch", "\"Show\""] }';  
var tags = JSON.parse(testJson);  
alert (tags.result[1]);

由于双引号(已被转义),因此将引发解析错误。
甚至eval()在这里都不行。
但是,如果我用这样的双斜杠将其转义:

var result = '{"result": ["lunch", "\\"Show\\""] }';  
var tags = JSON.parse(result);  
alert (tags.result[1]);

然后就可以了
为什么我们需要在javascript中使用双斜杠?问题是,PHP
json_encode()函数转义一个单斜杠双引号(是这样的:\"show\"),这JSON.parse将无法解析。我该如何处理这种情况?


问题答案:

好吧,最后,JSON的解析使用相同的eval,因此,给它们smth时没有什么区别。语法错误。在这种情况下,您必须正确地在php中转义引号,然后使用json_encode将其及其转义斜线转义。

<?php
    $json = '{"result": ["lunch", "\"Show\""] }';
    echo json_encode($json);
?>

OUTPUT: "{\"result\": [\"lunch\", \"\\\"Show\\\"\"] }"

这应该适用于客户端JS(如果我没有输入错误)。



 类似资料:
  • 本文向大家介绍解析错误富文本json字符串(带双引号)的快速解决方法,包括了解析错误富文本json字符串(带双引号)的快速解决方法的使用技巧和注意事项,需要的朋友参考一下 公司的项目,通过json传回来的是这么个东西: 各种查询之后发现无法解析的根本原因就是里面有双引号" " "和反斜杠" \ ". 还不能直接对json进行转义,否则会将json本身自带的双引号都给转义了,所以不能暴力转义 上网找

  • 问题内容: 尝试对mongoexport使用查询会导致错误。但是mongo-client会评估相同的查询,而不会出错。 在mongo-client中: 使用mongoexport: 产生的错误: 但是预先在mongoexport中进行乘法: 作品! 为什么mongo在这两种情况下对查询的评估不同? 问题答案: 该命令行实用程序支持传递查询 JSON 格式,但您要评估 的JavaScript 在您的

  • 和 是我用来获取JSON并对其进行解析的类。但是当我运行第一个时,它会报告以下堆栈跟踪: 它告诉我添加JsonReader。将lenient(true)设置为我的代码,但我的代码不使用JsonReader。那么如何将setLenient(true)添加到代码中? 编辑:添加API响应(格式化):

  • 我有以下命令。我想循环使用此键和值,即对于冰/冷的项目,打印“值” 我试过这个: 却给我错误

  • 我一直得到一个JSON解析器错误,每次我尝试连接从Android到php帐户。下面你会看到我得到的错误: 谁能帮帮我吗。。。 PHP代码: Android代码: Android代码: 公共JSONObject getJSONFromUrl(字符串url,列表参数){ 注册用户JSONObject PhP警告: php代码: 链接89是$no_of_rows 用户表结构: mysql_error:

  • 本文向大家介绍json解析时遇到英文双引号报错的解决方法,包括了json解析时遇到英文双引号报错的解决方法的使用技巧和注意事项,需要的朋友参考一下 有时解析json时,会碰到里面带有英文的双引号,导致解析错误,可以将json进行转义,一下: 以上这篇json解析时遇到英文双引号报错的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。