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中的模版渲染,在后端渲染返回的是字符串内容,就不会出现问题。

最后

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

相关推荐
lightqjx9 分钟前
【C++】C++11 - Lambda表达式+包装器
开发语言·c++·c++11·lambda·包装器
心之语歌10 分钟前
flutter 父子组件互相调用方法,值更新
前端·javascript·flutter
BHXDML14 分钟前
操作系统实验:(七)动态分区分配方式的模拟
开发语言·数据库·操作系统
重生之后端学习22 分钟前
208. 实现 Trie (前缀树)
java·开发语言·数据结构·算法·职场和发展·深度优先
清水白石00826 分钟前
从频繁“握手”到高效通行:Python 数据库连接池深度解析与调优实战
开发语言·数据库·python
我命由我1234528 分钟前
C++ EasyX 开发,MessageBox 函数参数问题:“const char *“ 类型的实参与 “LPCWSTR“ 类型的形参不兼容
c语言·开发语言·c++·后端·学习·visualstudio·visual studio
shehuiyuelaiyuehao32 分钟前
关于hashset和hashmap,还有treeset和treemap,四个的关系
java·开发语言
岱宗夫up33 分钟前
FastAPI进阶3:云原生架构与DevOps最佳实践
前端·python·云原生·架构·前端框架·fastapi·devops
赛博切图仔34 分钟前
告别“打字机”:Generative UI 如何重塑 AI 时代的前端交互?
前端·人工智能·ui
only-qi34 分钟前
Java 包装器模式:告别“类爆炸“
java·开发语言