Hexo


  • Home

  • Archives

  • Tags

Hello World

Posted on 2017-07-19

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

JSON字符串与JSON对象的转换

Posted on 2017-07-18

在数据传输过程中,JSON是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:
JSON字符串:

1
var str1 = '{ "name": "cxh", "sex": "man" }';

JSON对象:

1
var str2 = { "name": "cxh", "sex": "man" };

一、JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

//由JSON字符串转换为JSON对象

1
var obj = eval('(' + str + ')');

或者

1
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

1
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然后,就可以这样读取:

1
2
Alert(obj.name);
Alert(obj.sex);

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:

1
var last = obj.toJSONString(); //将JSON对象转化为JSON字符

或者

1
var last = JSON.stringify(obj); //将JSON对象转化为JSON字符

注意:
上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明json包版本太低。

John Doe

John Doe

2 posts
1 tags
© 2017 John Doe
Powered by Hexo
Theme - NexT.Muse