php object 怎么转成json,将[object Object]转换成json对象

这两天在做中英文双版的文件,页面根据语言读取不同的内容。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) %>') 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值