在JavaScript中串行化为JSON―使用json2.js - Go语言中文社区

在JavaScript中串行化为JSON―使用json2.js


JavaScript中没有直接串行化对象的内置方法,当然你可以自己写一个,不过我还是强烈推荐你在这里偷个小懒,使用现成的组件,我们可以转换和导出对象结构,还可以使用 json_encode() 使来自 PHP 数据库连接的数据可用于 Ajax 应用程序。

获得完毕json2.js文件后,你可以打开这个文件,在文件的前部分包含了相当大量的注释信息,如果你的英文足够好,那么你可以省略我这一节,参考该文件的注释就可以了,如果作为程序员,你已经看够了大片的字母。

想看看我的汉字+字母,那你可以向下继续了。该文件创建了一个包含两个方法的全局对象JSON,它的方法分别是: 复制内容到剪贴板

代码:

  1. de>JSON.stringify(value, whitelist)de> 

一个可选的数组参数,用于判定对象值如何被串行化这个方法通过一个JavaScript值来生成JSON文本。在进行串行化时,根据可选的参数whitelist,有三种可能:
如果某个对象有toJSON方法,那么则调用该方法,toJSON方法的返回值将被串行化。

否则,如果可选参数whitelist是一个数组,那么数组中的元素将被用来选择对象进行串行化时的的成员。否则,如果没有使用whitelist参数,则对象的所有成员将被串行化。如果值没有JSON的表现形式,例如undefined或者函数,则其不会被串行化。

在对象中,这样的值会被忽略,而在数组中将会被null替换。JSON.stringify(undefined)会返回undefined。日期将会被串行化为被引用的ISO日期。

代码:

  1. de>var text = JSON.stringify(['e', {pluribus: 'unum'}]);  
  2. //text is '["e",{"pluribus":"unum"}]'  
  3. JSON.parse(text, filter)de> 

代码:

  1. de>//解析文本,如果某个键包含字符串“date”,则将其值转换为日期  
  2. myData = JSON.parse(text, function (key, value) {  
  3. return key.indexOf('date') >= 0 ? new Date(value) : value;});de> 
【责任编辑:苏越 TEL:(010)68476606】

点赞 0
版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://developer.51cto.com/art/201001/175984.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 11:33:18
  • 阅读 ( 969 )
  • 分类:前端

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢