首页 > 其他分享 >在 html 上添加 json 数据(数据包含多种特殊字符),使用 JSON.stringify 读取 error

在 html 上添加 json 数据(数据包含多种特殊字符),使用 JSON.stringify 读取 error

时间:2024-07-30 17:18:51浏览次数:8  
标签:stringify json jsonObj JSON html let error

let jsonObj = [{
	"Name": "test"
	"Attach": "www!@#$%^&*(){}|:\"<>?,./;'[]\\"
}]

let html = jsonObj.map((i, v) => {
	let jsonStr = JSON.stringify(jsonObj)
	return `<tr data='${jsonStr}'>
			<td>${v['Name']}</td>
			<td>${v['Attach']}</td>
		</tr>`
})

$('#demo').html(html)

const firstTrData = $('#demo').find('tr:first').attr('data')
console.log(firstData) // 打印的 json 数据也不对

let rawJsonData = JSON.parse(firstTrData) // error

里面包含多个特殊字符,再用 JSON.parse 解析出对象,发现 error:

直接说原因,主要看 data='${jsonStr}' 这个地方,使用的是单引号',但是特殊字符里也包含了单引号'

解决办法:
在 JSON.stringify 添加第二个参数来 html编码 一下单引号字符,这样即使在取出json字符串的时候,浏览器也会帮你转换为原来的字符。

let jsonStr = JSON.stringify(jsonObj, function (k, v) {
	if (k === 'Attach')
		return v?.replace("'", "&#39;") // html 编码
	return v;
})

标签:stringify,json,jsonObj,JSON,html,let,error
From: https://www.cnblogs.com/fires/p/18332956

相关文章

  • 将字符串转换为json格式
    我有一个Excel电子表格,当我直接在python中读取它时,它失败了。所以我先在PowerQuery中读,然后在python中读,但是在PowerQuery中读时丢失了json双引号。我尝试了demjson3,但无法成功。我尝试用Python逐行阅读,这不是一个好主意。我希望能够在python中将其呈现为json。......
  • 超级好用的JSON可视化工具
    理想的在线JSON工具,应该支持快速格式化、可压缩、快捷复制、可下载导出,对存在语法错误的地方能明确显示。提供搜索定位功能,可视区足够大,最好支持全屏。经过多方面对比,以下工具能满足这个需求: 工具地址直达:在线JSON可视化工具工具支持全屏模式操作,通过搜索框可以快速进行查找,双......
  • ElementPlusError: [ElOnlyChild] no valid child node found
    1.在使用elementplus表格操作按钮,使用v-if,作用元素,出现如下报错:ElementPlusError:[ElOnlyChild]novalidchildnodefound代码如下:<el-table-columnlabel="操作"align="center"fixed="right"width="150"class-name="small-paddingf......
  • 使用 json 列规范化 Dataframe
    您好,我正在寻找一种有效的方法来标准化包含json数据列的数据框。我从保存为数据帧的网站获取json响应。结构如下所示在此处输入图像描述我有3个标准列,第4列包含我想要规范化的json数据,并创建使用前3列中的值复制每行的行以及拆分的行第四列。如下......
  • 当我尝试在 flink 集群上运行 Beam Pipeline 时,为什么会出现 ERROR:root:java.lang.Nu
    我正在尝试在本地托管的Flink集群上运行一个简单的Beam管道,但在执行此操作时遇到错误。我已经尝试了在互联网上可以找到的所有内容。importapache_beamasbeamfromapache_beam.ioimportReadFromTextfromapache_beam.ioimportWriteToTextfromapache_beam.option......
  • Pandas to_csv 无法附加到 Databricks 云中的文件(OSError Errno 95 不支持操作)
    为什么我无法使用下面的代码覆盖文件?我希望创建文件b.csv,然后附加每次迭代。虽然我给出mode='a'(追加),但不知何故我可能会创建文件但不追加到它。files=dbutils.fs.ls("/mnt/lake/RAW/test/billion-row-ingestion-time/table/")parquet_file_list=[each.pat......
  • RuntimeError:permute(sparse_coo):张量输入中的维度数与所需维度排序的长度不匹配
    因此,我使用这个剪辑模型来执行一些标记任务。但是当我使用剪辑模型的文本编码器时,它会出现以下错误:<ipython-input-117-4c513cc2d787>inforward(self,batch)34print(y.size())35print(y.dim())--->36y=self.text_encoder(y)37......
  • 为什么我在这里收到 AttributeError ?
    我正在运行依赖于这个包的代码。它使用numpyv2.0中已弃用的语法。我知道这个问题,并且正在使用带有numpy1.26.4的conda虚拟环境。但是,当我运行代码时,我仍然收到以下错误。有人知道发生了什么事吗?另一个包是否有可能以某种方式导入numpy2.0或其他东西?Attribu......
  • 在指定的 json 边界内绘制 hexbin 截断
    我正在绘制一个单独的hexbin图和json边界文件。不过,hexbin网格与边界文件重叠。我只想展示非洲大陆。我的目标是在非洲大陆内切断或分割六边形网格因此,边界文件之外不应显示任何网格方块。有没有办法使用Plotly来实现这一点?预期的输出是截断或剪切非洲大陆之外的......
  • ImportError:无法从“langchain_core.utils”导入名称“pre_init”
    当我想从requirements.txt安装langchain库时,我得到ImportError:cannotimportname'pre_init'from'langchain_core.utils'我尝试使用这些命令从终端安装库:pipinstallgigachainpipinstallgigachatpipinstall-Ulangchain-community并且它正在工作,所以我使......