背景
1.后台发布API,返回结果为JSON。
2.前端采用AJAX异步请求。
通常我们会碰到后台API返回单个返回值,类型为string的情况。
但是我们查看浏览器控制台或通过alter直接打印结果时,通常该值是被包裹在双引号中。
例如,"http://www.baidu.com"
=============割割割割割割割割===================
我们很困惑,
前端说:后端应该返回string,不带双引号。
后端说:我们返回的是标准JSON格式,不能去掉双引号。
前端说:标准JSON格式为什么不带大括号({})。
如果我们细心的去查询JSON官方站点(
http://json.org)的话,我们会发现JSON拥有一个单独的类型为String。
定义如下:
A
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>