js 把字符串转成json对象的三种方法
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对象的三种方法相关推荐
- js中将字符串转换成json的三种方式
ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法. 1,eval方式解析,恐 ...
- json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...
json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...
- json字符串转换成json对象
Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: 代码如下: $.parseJSON( ...
- json字符串转成 json对象 json对象转换成java对象
import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; 依赖包 <dependency> ...
- JS中数组(Array)、Json对象长度(length)获取方法
JS中数组(Array).Json对象长度(length)获取方法 1.数组 var array = []; var length = array.length; 2.JSON对象 1)方法1: va ...
- javascript中将字符串转换为json格式的三种方法
摘自:http://www.phpzixue.cn/detail1128.shtml javascript中将字符串转换为json格式的三种方法: json在我们js的开发过程中经常会用到像在使用a ...
- java json的使用方法_JAVA编写JSON常用的三种方法
JAVA编写JSON常用的三种方法 Szx • 2019 年 11 月 15 日 1.jsonlib需要引入的包也多,代码也相对多一些. 2.Gson:谷歌的 3.FastJson:阿里巴巴的,这几个 ...
- python描述符魔术方法_学习笔记-Python基础9-面向对象编程OOP-类的成员描述符(property)、类的常用内置属性、类的常用魔术方法、类和对象的三种方法...
一.类的成员描述符(property) 类的成员描述符是为了在类中,对类的成员属性进行相关操作而创建的一种方式,大部分属于数据清洗 属性有三种操作:get获取属性值.set修改或添加属性.delete ...
- 字符串转换成json对象的方式
前言 使用ajax的开发项目过程中,经常需要将json格式的字符串返回到前端,前端解析成js对象(JSON ). 欲将以下字符串转为json对象格式: var str = '{name:"j ...
最新文章
- Oracle常用傻瓜问题1000问
- 你的设备中缺少重要的安全和质量修复_城市排水管道三类非开挖修复技术汇总...
- 微信在公众号增开了新广告位 这次是在图文消息头部
- openjpa_以编程方式向OpenJPA注册实体类型
- 数据旋转及DB2递归的应用
- WinDbg+Rotor解析WinForm调用堆栈及实现
- 提升安全性WindowsXP必禁的十大服务
- 练打字-测试看图说话(AD安装)
- .Net .Net Core 下使用FastDFS 文件上传下载
- 【LED灯屏控制器】国产FPGA之 AG10KSDE176 初探(1)
- pytorch中加入注意力机制(CBAM),以ResNet为例。到底要不要用ImageNet预训练?如何加预训练参数?
- 009_设备树属性的获取-以LED为例
- 今日凌晨Vue3 beta版震撼发布,竟然公开支持脚手架项目!
- AR和VR现在还火爆吗?
- android手机 滚动截屏,安卓手机如何滚动截屏?看完图解一秒学会!
- 微信公众号数据2019_历史微信公众号排名,微信公众号新榜排名
- STM32+HC-05蓝牙模块学习与使用
- 数字先锋 | 天翼云牵手中能融合
- JVM-内存区域 堆、方法区,虚拟机栈、程序计数器详解
- 小虎电商浏览器:拼多多标题关键词怎么找?有什么工具?