这两天在做中英文双版的文件,页面根据语言读取不同的内容。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>

将[object Object]转换成json对象的更多相关文章

  1. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

    一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...

  2. List转换成JSON对象

    List转换成JSON对象 1.准备工作 导入jar包 (1)json-lib-2.3-jdk15.jar (2)commons-beanutils-1.8.0.jar (3)commons-coll ...

  3. Java对象转换成xml对象和Java对象转换成JSON对象

    1.把Java对象转换成JSON对象 apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串.也可以把JavaBean转换成JSON字符串. json-lib的核心 ...

  4. List转换成JSON对象报错(五)

    List转换成JSON对象 1.具体错误如下 Exception in thread "main" java.lang.NoClassDefFoundError: org/apac ...

  5. List转换成JSON对象报错(四)

    List转换成JSON对象 1.具体错误如下 Exception in thread "main" java.lang.NoClassDefFoundError: org/apac ...

  6. List转换成JSON对象报错(三)

    List转换成JSON对象 1.具体错误如下 Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/e ...

  7. List转换成JSON对象报错(二)

    List转换成JSON对象 1.具体报错如下 Exception in thread "main" java.lang.NoClassDefFoundError: org/apac ...

  8. List转换成JSON对象报错(一)

    List转换成JSON对象 1.具体报错如下 Exception in thread "main" java.lang.NoClassDefFoundError: org/apac ...

  9. 特殊字符导致json字符串转换成json对象出错

    在对数据库取出来的数据(特别是描述信息)里面含有特殊字符的话,使用JSON.parse将json字符串转换成json对象的时候会出错,主要是双引号,回车换行等影响明显,左尖括号和右尖括号也会导致显示问 ...

  10. 转换成json字符串,与json字符串转换成java类型都要先转换成json对象

    转换成json字符串,与json字符串转换成java类型都要先转换成json对象

随机推荐

  1. C#模版学习研究

    原文链接1   原文链接2 using System; using System.Collections.Generic; using System.Text; using T = System.By ...

  2. javascript:void(0)与#区别

    javascript:void(0)   鼠标点击时,不会跳转到其他页面,且停留在原地 #   鼠标点击时,不会跳转到其他页面,但会回到顶部

  3. jmeter(四)检查点

    JMeter也有像LR中的检查点,本篇就来介绍下JMeter的检查点如何去实现. JMeter里面的检查点通过添加断言来完成. 检查点:上一章讲到,我们对用户名和密码进行了参数化,那么怎样来判断jme ...

  4. windwsform登录页面

    简单登录设计: 读取用户名密码 数据库表 实体类 数据访问类: 隐藏登录页面: 回车快捷键: 传值到main窗口:

  5. BotFramework学习-02

    1.请求的Message格式 { "type": "Message", "id": "fd89606f8014453ca5587e ...

  6. 迅为电子HMI人机界面|CAN总线触摸屏

    本文转自迅为:http://www.topeet.com 协议特色: 1. 支持所有 CAN 协议,例如常用的 J1939 和 CANopen 协议. 2. 提供高度开放的 CAN 帧的编辑界面,用户 ...

  7. OJB

    OJB 编辑 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 对象关系桥(OJB)是一种对象关系映射工具,它能够完成从Java对象到关系数据库的透明存储.   英文名 OJB ...

  8. 模拟登陆request-session

    #人人网的模拟登录 import requests import urllib from lxml import etree #获取session对象 session = requests.Sessi ...

  9. 了解Java密码扩展的基础

      了解Java密码扩展的基础     Java密码扩展(The Java Cryptography Extension),是JDK1.4的一个重要部分,基本上,他是由一些包构成的,这些包形成了一个框 ...

  10. 二维码之zxing仿新浪微博二维码

    在前言中最后部分,提到了二维码开发工具资源ZXing.网上有它最新1.7版的源码,感兴趣的可以下载下来看看,要打包生成core比较麻烦,网上有相关教程.嫌麻烦的朋友,可以去我的资源里下载Java版的c ...