站長資訊網
        最全最豐富的資訊網站

        javascript怎么判斷是否是json格式

        判斷方法:首先使用“JSON.parse(str)”語句解析指定數據str;然后使用“if(typeof obj =='object'&&obj)”語句判斷解析后數據的類型是否為“object”類型;如果是,則str數據是json格式。

        javascript怎么判斷是否是json格式

        本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

        js判斷字符串是否為JSON格式

        不能簡單地使用來判斷字符串是否是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!')     }

        以上try/catch的確實不能完全檢驗一個字符串是JSON格式的字符串,有許多例外:

        JSON.parse('123'); // 123 JSON.parse('{}'); // {} JSON.parse('true'); // true JSON.parse('"foo"'); // "foo" JSON.parse('[1, 5, "false"]'); // [1, 5, "false"] JSON.parse('null'); // null

        我們知道,JS中的數據類型分為:字符串、數字、布爾、數組、對象、Null、Undefined。

        我們可以使用如下的方法來判斷:

        function isJSON(str) {     if (typeof str == 'string') {         try {             var obj=JSON.parse(str);             if(typeof obj == 'object' && obj ){                 return true;             }else{                 return false;             }          } catch(e) {             console.log('error:'+str+'!!!'+e);             return false;         }     }     console.log('It is not a string!') }   console.log('123 is json? ' + isJSON('123')) console.log('{} is json? ' + isJSON('{}')) console.log('true is json? ' + isJSON('true')) console.log('foo is json? ' + isJSON('"foo"')) console.log('[1, 5, "false"] is json? ' + isJSON('[1, 5, "false"]')) console.log('null is json? ' + isJSON('null')) console.log('["1{211323}","2"] is json? ' + isJSON('["1{211323}","2"]')) console.log('[{},"2"] is json? ' + isJSON('[{},"2"]')) console.log('[[{},{"2":"3"}],"2"] is json? ' + isJSON('[[{},{"2":"3"}],"2"]'))

        運行結果為:

        > "123 is json? false" > "{} is json? true" > "true is json? false" > "foo is json? false" > "[1, 5, "false"] is json? true" > "null is json? false" > "["1{211323}","2"] is json? true" > "[{},"2"] is json? true" > "[[{},{"2":"3"}],"2"] is json? true"

        所以得出以下結論:

        JSON.parse() 方法用來解析JSON字符串,json.parse()將字符串轉成json對象

        如果JSON.parse能夠轉換成功;并且轉換后的類型為object 且不等于 null,那么這個字符串就是JSON格式的字符串。

        JSON.parse():

        JSON 通常用于與服務端交換數據。

        在接收服務器數據時一般是字符串。

        我們可以使用 JSON.parse() 方法將數據轉換為 JavaScript 對象。

        語法:

        JSON.parse(text[, reviver])

        參數說明:

        • text:必需, 一個有效的 JSON 字符串。

        • reviver: 可選,一個轉換結果的函數, 將為對象的每個成員調用此函數。

        解析前要確保你的數據是標準的 JSON 格式,否則會解析出錯。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 99久久精品国产一区二区三区| 人妻AV一区二区三区精品| 日韩精品无码久久一区二区三| 国产成人精品日本亚洲直接| 中国精品18videosex性中国 | 亚洲精品无码AV中文字幕电影网站| 精品三级在线观看| 精品亚洲成AV人在线观看| 人妻少妇精品无码专区动漫| 国产精品美女WWW爽爽爽视频| 国产精品黄网站| 国产午夜精品免费一区二区三区| 亚洲无线观看国产精品| 日本熟妇亚洲欧美精品区| 国产精品一区二区久久精品无码| 久久99久久99小草精品免视看| 精品无码AV无码免费专区| 中文字幕在线亚洲精品| 欧美精品91欧美日韩操| 精品久久久久久无码人妻热| 99久久精品无码一区二区毛片| 国产精品久久久久久搜索| 精品久久无码中文字幕| 无码人妻精品一区二区三区久久| 中文字幕精品无码久久久久久3D日动漫| 精品人妻少妇一区二区三区| 国产高清在线精品一本大道国产 | 日韩精品国产自在久久现线拍| 国产成人精品无码片区在线观看 | 99re8这里有精品热视频免费| 久久精品中文字幕无码绿巨人| 亚洲愉拍99热成人精品热久久| 老年人精品视频在线| 狠狠精品久久久无码中文字幕 | 国产精品一香蕉国产线看观看 | 精品无人区麻豆乱码1区2区 | 国自产偷精品不卡在线| 国产成人精品无码一区二区| 国产成人精品日本亚洲网站| 国产精品久久精品| 欧美精品免费线视频观看视频|