toJSON使用中遇到的问题

目录

为什么要使用JSON

在我的项目中,我想使用layui的模版来渲染我的页面,而这个页面我是想通过将它配置成参数来渲染的

具体实现是这样

javascript 复制代码
var laytpl = layui.laytpl
laytpl(html).render(data, function (string) {
      newHtml = string
    });

这个html就是我已经配成参数的页面,此时是一个通过layui的模版编写的一个模版字符串

data是需要用到的数据

在渲染后我发现,我的对象变成了object, object

我意识到时js将对象转为了字符串而导致的,所以这时候我们就需要将对象转为JSON。

使用JSON遇到的问题

我最开始想到的就是用js中的JSON.stringify()

JSON.stringify()会调用我们的toJSON()方法,如果没有自定义的话会调用默认的

在我将页面中的对象转为JSON格式之后,发现还是有问题报错了。

继续深入发现我的JSON变成了&quto;属性名&quto;这样了,为什么会给我转义了呢?我这html是一个字符串也不是html内容啊?

接着就想到是不是laytpl.render之后返回的是html内容呢?结果还真是他,返回的是html内容导致转义了

那我只能将这个页面在后端进行渲染了,使用了groovy中的模版渲染,在后端渲染返回的是字符串内容,就不会出现问题。

最后

如果你对本文有疑问,你可以在文章下方对我留言,敬请指正,对于每个留言我都会认真查看。

相关推荐
橙某人14 小时前
LogicFlow 工作流撤销与重做:从「全量快照」到「命令模式」🎯
前端·vue.js
铁皮饭盒14 小时前
Rust版Bun1.4之前, 盘点Bun1.3新特性
前端·javascript·后端
恋猫de小郭14 小时前
如何让 AI 快速搭建一套生产 Agent ?全面理解 Agent 架构。
前端·人工智能·ai编程
Csvn14 小时前
Vite 构建缓存优化:二次构建从 15s 降到 2s 的实战方案
前端
晓得迷路了14 小时前
栗子前端技术周刊第 135 期 - Vite 8.1、Rspack 2.1、Babel 8.0...
前端·javascript·vite
你听得到1115 小时前
用户说 App 卡,但说不清在哪?我把 Flutter 监控 SDK 升级成了链路观测工作台
前端·flutter·性能优化
To_OC1 天前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC1 天前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
天渺工作室1 天前
实现一个adblock/adblock plus等浏览器广告拦截器检测插件
前端·javascript