JSON.parse()的正确用法

昨天晚上在项目中使用JSON.parse()来将字符串格式的数据转换成json,结果悲剧了,总感觉方法没有用错,可是就是报错!想了好久,最后发现原来是json字符串格式不标准!

如:var a = “{‘id‘:‘1’,‘name‘:‘北京‘}” 和 var b =  ‘{“id”:"1","name":"北京"}’,有发现a和b有什么不同吗?

咋一看是没有什么不同的,但是,当JSON.parse(a)时,浏览器报错了,但是,JSON.parse(b)确是正常的;原来b才是原生json的标准格式,所有键值都必须是“双引号”括起来,JSON.parse()也只认这个格式,像a这种用单引号是错误的!

时间: 2024-10-15 10:11:45

JSON.parse()的正确用法的相关文章

JSON.parse()和JSON.stringify() 用法

parse 从字符串解析出json对象: var data = '{"a":1,"b":2}'; JSON.parse(data); 返回Object a:1 b:2 _proto_:Object stringify从json对象解析出字符串: var data = {a:1,b:2} JSON.stringify(data) 返回: '{"a":"1","b":"2"}' JSON.p

JSON对象的解析,JSON.stringify()/JSON.parse()的用法

ECMAScript 5 对解析 JSON 的行为进行规范,定义了全局对象 JSON .支持这个对象的浏览器有 IE 8+.Firefox 3.5+.Safari 4+.Chrome 和Opera 10.5+. JSON 对象有两个方法: stringify() 和 parse() 用法如下: JSON.stringify()的用法/参数介绍 1.JSON.stringify(jsonObj),jsonObj为JSON数据,该方法是将JSON格式的数据,序列化成字符串类型 var bigWeb=

JSON.parse()与JSON.stringify()高级用法

JSON.parse()与JSON.stringify是将JSON对象与字符串互相转换的方法,它们还有一些参数可以让我们在实际应用中更加方便,现在介绍一下它们的高级用法 JSON.parse() JSON.parse(jsonString, (key, value) => {}) 可以接受两个参数,第一个就是我们已经熟悉的json字符串,第二个是一个回调函数,我们可以对返回的每一个value做处理,然后返回对应的value const testJSON = { name: 'test', val

JSON.parse()和JSON.stringify() 的用法区别

parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":"23"}' 结果: JSON.parse(str) Object age: "23" name: "huangxiaojian" __proto__: Object 注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常. stringify(

JSON.parse()和JSON.stringify()的用法

JSON.parse()是用于从一个字符串中解析出json对象,如下所示 var str = '{"name":"flsummer","age":"23"}' JSON.parse(str) 结果:Object {name: "flsummer", age: "23"} 注意:单引号必须写在{}外,每个属性名都必须用双引号,否则会抛出异常. JSON.stringify()用于从一个对象

JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法

摘自:https://www.cnblogs.com/whh412/p/5627088.html 1. JSON.parse(jsonString): 在一个字符串中解析出JSON对象 1 2 3 var str = '[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","act

JSON.parse()和eval()的区别

json格式非常受欢迎,而解析json的方式通常用JSON.parse()但是eval()方法也可以解析,这两者之间有什么区别呢? JSON.parse()之可以解析json格式的数据,并且会对要解析的字符串进行格式检查,如果格式不正确则不进行解析,而eval()则可以解析任何字符串,eval是不安全的. 比如下面的字符串: var str = 'alert(1000.toString())'; eval(str); JSON.parse(str); 用eval可以解析,并且会弹出对话框,而用J

JSON.parse(jsonStr)和eval('('+jsonStr+')')

我们先初始化一个json格式的对象: var jsonDate = '{ "name":"周星驰","age":23 }' var jsonObj = eval( '(' + jsonDate + ')' );  // eval();方法 var jsonObj = JSON.parse( jsonDate );  // JSON.parse(); 方法 然后在控制台调用: console.log( jsonObj.name );  // 两种方

关于vue中JSON.parse(JSON.stringify(...))使用深拷贝问题

一般我们单独用JSON.parse()或JSON.stringify() 今天在学vue看到JSON.parse(JSON.stringify(...))的用法,这里研究一下: 首先分别说下他们的用法: JSON.parse()  是将字符串中的对象解析出来 例:  var str = "{'name':'huahua','age':'22'}";  JSON.parse(str); var obj = {name:"hua",age: 26};  JSON.str