js 把字符串转成json对象的三种方法

不管字符串是否含有转义字符,都能转换成 Json 对象

1, js自带的eval函数,其中需要添加小括号eval('('+str+')');

function strToJson(str){var json = eval('(' + str + ')');return json;
}

2,new Function形式

function strToJson(str){var json = (new Function("return " + str))();return json;
}

3,全局的JSON对象

function strToJson(str){return JSON.parse(str);
}

使用 这种方式限制稍微多一些,需严格遵守JSON规范,如属性都需用引号引起来,如下

var str = '{name:"jack"}';
var obj = JSON.parse(str); // --> parse error

name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。

如果字符串是 undefined 或者 '',使用上面三种方式都会报错,所以需要先特殊判断一下字符串是否是 undefined 或者空字符串,如果不是则可以使用上面的三种方式来转换,一般都是使用第一中方法,最简单。

转自:js将字符串转换成json的三种方式

javascript 把对象转换成 json 字符串

JSON.stringify

JSON.stringify 方法将某个对象转换成 JSON 字符串形式

const userInfo= {name: 'zs',age: 20
}
console.log(JSON.stringify(userInfo));
// {"name":"zs","age":20}

JSON.stringify 语法

语法: 可以有三个参数,第一个是传入要序列化的值,第二个为函数或者数组,第三个是文本添加缩进、空格和换行符

JSON.stringify(value, replacer, space)

value:第一个参数,将要序列后成 JSON 字符串的值。
replacer:【可选】第二个参数
(1) 如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;
(2) 如果参数是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。
(3) 如果该参数为未提供或者null ,则对象所有的属性都会被序列化。
space:【可选】第三个参数,美化文本格式,文本添加缩进、空格和换行符,
(1) 如果 该参数 是一个数字,则返回值文本在每个级别缩进指定数目的空格
(2) 该参数最大值为10,如果 该参数大于 10,则文本缩进 10 个空格。
(3)该参数也可以使用非数字,如:\t。最大值为10

最多使用方式

JSON.stringify(eval(stu, null, 2)

如果想把包含转义字符的字符串转成 json 字符串

先试用 eval 把字符串转成 json 对象,然后使用 JSON.stringify 把 json 对象转成 json 字符串

JSON.stringify(eval(`(${stu})`), null, 2)

如果还需要特别判断一下空字符串,加个三目运算符就行

stu ? JSON.stringify(eval(`(${stu})`), null, 2) : ''

参考:

js将字符串转换成json的三种方式

JSON.stringify用法

js 把字符串转成json对象的三种方法相关推荐

  1. js中将字符串转换成json的三种方式

    ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法. 1,eval方式解析,恐 ...

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

    json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...

  3. json字符串转换成json对象

    Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: 代码如下: $.parseJSON( ...

  4. json字符串转成 json对象 json对象转换成java对象

    import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; 依赖包 <dependency> ...

  5. JS中数组(Array)、Json对象长度(length)获取方法

    JS中数组(Array).Json对象长度(length)获取方法 1.数组 var array = []; var length = array.length; 2.JSON对象 1)方法1: va ...

  6. javascript中将字符串转换为json格式的三种方法

    摘自:http://www.phpzixue.cn/detail1128.shtml javascript中将字符串转换为json格式的三种方法:  json在我们js的开发过程中经常会用到像在使用a ...

  7. java json的使用方法_JAVA编写JSON常用的三种方法

    JAVA编写JSON常用的三种方法 Szx • 2019 年 11 月 15 日 1.jsonlib需要引入的包也多,代码也相对多一些. 2.Gson:谷歌的 3.FastJson:阿里巴巴的,这几个 ...

  8. python描述符魔术方法_学习笔记-Python基础9-面向对象编程OOP-类的成员描述符(property)、类的常用内置属性、类的常用魔术方法、类和对象的三种方法...

    一.类的成员描述符(property) 类的成员描述符是为了在类中,对类的成员属性进行相关操作而创建的一种方式,大部分属于数据清洗 属性有三种操作:get获取属性值.set修改或添加属性.delete ...

  9. 字符串转换成json对象的方式

    前言 使用ajax的开发项目过程中,经常需要将json格式的字符串返回到前端,前端解析成js对象(JSON ). 欲将以下字符串转为json对象格式: var str = '{name:"j ...

最新文章

  1. Oracle常用傻瓜问题1000问
  2. 你的设备中缺少重要的安全和质量修复_城市排水管道三类非开挖修复技术汇总...
  3. 微信在公众号增开了新广告位 这次是在图文消息头部
  4. openjpa_以编程方式向OpenJPA注册实体类型
  5. 数据旋转及DB2递归的应用
  6. WinDbg+Rotor解析WinForm调用堆栈及实现
  7. 提升安全性WindowsXP必禁的十大服务
  8. 练打字-测试看图说话(AD安装)
  9. .Net .Net Core 下使用FastDFS 文件上传下载
  10. 【LED灯屏控制器】国产FPGA之 AG10KSDE176 初探(1)
  11. pytorch中加入注意力机制(CBAM),以ResNet为例。到底要不要用ImageNet预训练?如何加预训练参数?
  12. 009_设备树属性的获取-以LED为例
  13. 今日凌晨Vue3 beta版震撼发布,竟然公开支持脚手架项目!
  14. AR和VR现在还火爆吗?
  15. android手机 滚动截屏,安卓手机如何滚动截屏?看完图解一秒学会!
  16. 微信公众号数据2019_历史微信公众号排名,微信公众号新榜排名
  17. STM32+HC-05蓝牙模块学习与使用
  18. 数字先锋 | 天翼云牵手中能融合
  19. JVM-内存区域 堆、方法区,虚拟机栈、程序计数器详解
  20. 小虎电商浏览器:拼多多标题关键词怎么找?有什么工具?

热门文章

  1. python上网_西电免流量限制上网攻略!Python实现PPPOE攻击工具,秒杀拨号上网
  2. WordPress添加留言板功能
  3. pyqt4之QMessageBox用法
  4. MYSQL常用命令大全(收集的超全)!
  5. war包放入tomcat中无法自动解压
  6. 微服务项目构建标准文档
  7. 记一次 Centos7 yum 安装、配置 PgAdmin4
  8. windows编译opencv opencv-contrib
  9. python中文字符串编码_python中文乱码 字符串和编码
  10. NPC问题的证明(可满足性问题、3-CNF可满足性问题、团问题、顶点覆盖问题)