jquery中Json操作

在開發中,我們有可能拿到的不是全的json,而是一部分json格式的數據,這個時候我們需要將其強轉爲json對象

第一種方法:使用jquery中的$.parseJSON(),但是它對json數據格式的要求較高,必須要雙引號包圍起來

複製代碼

<script type="text/javascript">    
    //第一種:使用jquery中自帶的$.parseJSON()函數
    var jsonStr1 = "{\"name\":\"蓋倫\"}";    
    var jsonStr2 = '{"name":"不祥之刃"}';
    var a = $.parseJSON(jsonStr1);
    console.log("這是一個json對象:",a);
    console.log(a.name);
    var c = $.parseJSON(jsonStr2);
    console.log("這是一個json對象:",c);
    
    //這種方式是錯誤的
    var jsonStr3 = "{name:'不詳之刃'}";    //沒有雙引號包圍起來
    var b = $.parseJSON(jsonStr3);
    console.log(b);
    
</script>

複製代碼

第二種方法:使用js中eval來強轉

優點是對json格式要求沒有那麼嚴格,但是在處理複雜json數據時不好,例如含有對象的

複製代碼

//第2種:js裏的方法使用eval來解析jason字符串
    var jsonstr1="[{\"id\":\"1\",\"name\":\"張三\"},{'id':2,'name':'李四'},{id:3,name:'王五'}]";
    //上面這三種寫法不論是用單引號包裹或者雙引號包裹或不包裹,都可以用eval解析過來
    var obj = eval('('+jsonstr1+')');
    console.log(obj);
    console.log(obj[0].name);

複製代碼

第三種方法:使用瀏覽器自帶的JSON.parse()

與jquery一樣,對json格式要求較高

//第3種:使用瀏覽器自帶的JSON.parse
    var jsonStr="{\"id\":\"4\",\"name\":\"王五\"}";
    var obj = JSON.parse(jsonStr); 
    console.log(obj);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章