背景

1.后台发布API,返回结果为JSON。
2.前端采用AJAX异步请求。

通常我们会碰到后台API返回单个返回值,类型为string的情况。
但是我们查看浏览器控制台或通过alter直接打印结果时,通常该值是被包裹在双引号中。
例如,"http://www.baidu.com"

=============割割割割割割割割===================

我们很困惑,
前端说:后端应该返回string,不带双引号。
后端说:我们返回的是标准JSON格式,不能去掉双引号。
前端说:标准JSON格式为什么不带大括号({})。

如果我们细心的去查询JSON官方站点(http://json.org)的话,我们会发现JSON拥有一个单独的类型为String。
定义如下:

string is a sequence of zero or more Unicode characters, wrapped in double quotes, using backslash escapes. A character is represented as a single character string. A string is very much like a C or Java string

String是由0个或多个Unicode字符组成的序列,被包裹在双引号中。可以使用斜杠(\)来逃逸关键字或特殊字符。字符表示单个的字符串。
字符串与C或JAVA中的字符串非常相似。

现在我们明白了,原来这是一种标准的JSON格式。
那么我们怎么解析他呢。

其实非常简单,我们把他当作普通的JSON来解析就可以了。
<script>
    var jsontext = '"http://www.baidu.com"';
    // 变身
    var url = JSON.parse(jsontext);
    alert(url);
    // 再变身
    var json = JSON.stringify(url);
    alert(json);    
</script>