将[object Object]转换成json对象
2024-08-27 17:25:42
这两天在做中英文双版的文件,页面根据语言读取不同的内容。js模板用的是ejs
json文件:
"components":{
"pages":{
"home":{
"meta":{
"title":"首页",
"keywords":"关键字",
"desc":"描述"
},
"title":"登录失败",
"button":"重新登录"
}
}
}
页面js代码
let metaTitle = "<%= components.pages.home.meta.title %>"
console.log(metaTitle)
//控制台输出:首页
但是当json文件中数据很多,而又都需要的情况下,显然不能一条一条赋值,最好是可以将整个对象进行赋值,比如:
let home ="<%= components.pages.home %>"
console.log(home)
//控制台输出:[object Object]
这种情况下,控制台输出的是[object Object],看不到具体的内容,于是需要将它转换成与json文件中格式一致,方便在js中使用
- JSONObject.fromObject()
let home = "<%= components.pages.home %>"
let homeObj = JSONObject.fromObject(home);
console.log(homeObj)
//ReferenceError: JSONObject is not defined[详细了解]
- JSON.stringify()
let home = "<%= components.pages.home %>"
let homeObj = JSON.stringify(home);
console.log(homeObj)
//"[object Object]"
- JSON.parse()
let home = "<%= components.pages.home %>"
let homeObj = JSON.parse(home);
console.log(homeObj)
//SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data[详细了解]
- ps:let home = "<%= components.pages.home %>" 这里的双引号在解析的时候,会和内部的双引号行程匹配,所以下一种办法中,将""改成了''
- 最后提供一种目前自己代码使用的办法
let home = JSON.parse(decodeURI('<%- encodeURI(JSON.stringify(components.pages.home)) %>'))
后来发现并不需要decode和encode
let home = JSON.parse('<%- JSON.stringify(components.pages.home) %>')
</div>
最新文章
- 吸顶大法 -- UWP中的工具栏吸顶的实现方式之一
- Web Service简要概念,学习记录!
- Atitit Mysql查询优化器 存取类型 范围存取类型 索引存取类型 AND or的分析
- Solr部分更新MultiValued的Date日期字段时报错及解决方案
- 用Laravel+Grunt+Bower管理你的应用
- 【java】分页查询实体类
- ant 自定义taskdef的工作目录
- javascript: Jquery each loop with json array or object
- Xcode 5.0.2 下载地址
- 静态页分页功能js代码
- Session的工作机制详解和安全性问题(PHP实例讲解)
- Mysql 创建数据库表(删除,删除,插入)
- Starter Set of Functional Interfaces
- Android开发之onClick事件的实现
- STM32自带的bool型变量
- JSU省赛队员选拔赛个人赛1(Coin Change、Fibbonacci Number、Max Num、单词数、无限的路、叠筐)
- 数据结构录 之 BST的高级应用。
- sqlserver的四种分页方式
- bugku 逆向 take the maze
- CentOS7服务管理