[轉]JS判斷字符串是否為json數據


原文地址:https://blog.csdn.net/qq_26400953/article/details/77411520

這周碰到了很多問題,盡量把遇到的問題都記錄下來。

  JS判斷字符串是否為json數據

  根據網上朋友的回答:

   

function isJSON(str) {
    if (typeof str == 'string') {
        try {
            JSON.parse(str);
            return true;
        } catch(e) {
            console.log(e);
            return false;
        }
    }
    console.log('It is not a string!')    
}
這樣是不是就可以了呢?測試的時候輸入“123”,居然過了,所以是有問題的,於是找到了segmentfault上的一篇問答  https://segmentfault.com/q/1010000008460413/a-1020000008461292 里面也給出了一些解決方案。
  下面是博主師傅給出的解決方案:

     

function isJsonString(str) {
        try {
            if (typeof JSON.parse(str) == "object") {
                return true;
            }
        } catch(e) {
        }
        return false;
    }
如果解析出來的結果類型是一個對象,說明解析成功,如果是其他的類型,說明解析失敗了


免責聲明!

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



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