背景
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>