js获取json中的某个值(两个字符串比较)

点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题! 简单的知识,不去重视,不去总结,不去关心,永远都是不懂的。 今天讲一下JSON对象的相关方法,相信大家,听到json对...

点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

简单的知识,不去重视,不去总结,不去关心,永远都是不懂的。

今天讲一下JSON对象的相关方法,相信大家,听到json对象会有一种很熟悉又很模糊的感觉,熟悉是因为我们立马会想到它的两个方法:JSON.parse()和JSON.stringify()。模糊是可能了解的就仅此而已。

从两个方面聊一下:

一、兼容性

使用JavaScript语言解析字符串为JSON对象:JSON.parse()。

解析JSON对象为字符串时可以使用:JSON.stringify()。

JSON对象解析不是伴随着JavaScript的出现而产生的。例如在比IE8更低版本的浏览器中不能直接使用JSON解析方法。不过现在我们通常可以在浏览器中添加ES5-shim来增加浏览器对ECMAScript5功能的支持,让浏览器支持JSON对象的解析,这样我们就可以在后面的代码中放心使用JSON.parse/JSON.stringfy了。

<script src="//www.domain.com/es5-shim.js"></script>

二、更多方法需要了解

JSON对象除了上面那两个方法,还有一些容易混淆的方法:

JSON.toString():被调用时会调用Object原型上的toString方法,会取得JSON对象的值并转为字符串,如果没有具体的值,则返回原型数组。

JSON.valueOf():用于获取某个对象中的值。

JSON.toLocalString:也是Object原型上的方法,经常会返回与toString()相同内容,但对于Date对象,toLocaleString()会返回格式化后的时间字符串。

下面举个例子:

第一,如果是对象,怎么输出

1、JSON.stringify({name:'小郑搞码事'})

输出:"{"name":"小郑搞码事"}"

2、JSON.toString({name:'小郑搞码事'})

输出:"[object JSON]"

3、JSON.value0f({name:'小郑搞码事'})

输出:JSON {parse: ƒ, stringify: ƒ, Symbol(Symbol.toStringTag): "JSON"}

4、JSON.toLocaleString({name:'小郑搞码事'})

输出:"[object JSON]"

第二,如果是数组,怎么输出

let colors = ['red', 'blue', 'green']

console.log(colors.toString())

输出:red, blue,green

console.log(colors.valueOf())

输出:['red', 'blue', 'green']

console.log(colors.toLocaleString())

输出:red, blue,green

第三,如果是Date

let date = new Date()

console.log(date .toString())

输出:Thu Jul 05 2018 07:42:28 GMT+0800 (中国标准时间)

console.log(date .valueOf())

输出:1530747748017

console.log(date .toLocaleString())

输出:2018/7/5 上午7:42:28

总结:

写到这里,突然想到一句话,存在即合理,JSON对象常用的可以就是JSON.parse/JSON.stringify,其它的方法用好了,也是一把利器。

  • 发表于 2022-04-13 21:38:09
  • 阅读 ( 893 )
  • 分类:科技

0 条评论

请先 登录 后评论
白思特
白思特

31678 篇文章

你可能感兴趣的文章

相关问题