JSON與String之間互轉


一,String轉json

這個JSON.parse()與eval()都可以實現,但是它們是有區別的,

JSON.parse對json字符串要求比eval()更為嚴格,key名稱(例如name)全部必須有雙引號。

而eval必須用括號將json字符串括起來才能成功轉換,key名稱(例如name)有無雙引號都可以成功轉化。

二,JSON轉String,用【 JSON.stringify() 】

json的key名稱(例如name)有無雙引號都可以成功用JSON.stringify()實現轉化,但是注意我們最好還是將雙引號寫上(或者要求后端在返回數據的時候為key名稱加上雙引號)。

*當然JSON.stringify()還可以用於數據過濾,第二個參數是函數,而第三個參數用於json數據結果的代碼縮進。

<script>
var jewave = {"name":"bobo","like":["singsong","run"]};
function filter(key,value){
    switch(key){
        case "like": return value.join(',');
        default: return value;
    }
}
JSON.stringify(jewave,filter,4)

/*執行結果,數組成員被第二個參數【函數】拼接成一個單獨的字符串*/
"{
    "name": "bobo",
    "like": "singsong,run"
}"

<script>

 *toJSON函數也可以過濾JSON數據,注意是js內置的函數【toJSON】不能寫錯。

var book = {"name":"π","editor":"趙六",toJSON:function () {return this.name} };
var jsonText = JSON.stringify(book);
console.log(jsonText) //"π"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM