判断字符串是否json字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断字符串是否json字符串相关的知识,希望对你有一定的参考价值。

参考技术A 从对象中解析出字符串
var test = "name":"xiao";
var obj = JSON.stringify(test);
将字符串解析成对象
var test = '"name":"xiao"';
var json = JSON.parse(test);

判断是不是json字符串
var aa = JSON.stringify("reg_phone":"nao");
function isJSON(str)
if (typeof str == 'string')
try
var obj=JSON.parse(str);
if(typeof obj == 'object' && obj )
console.log(3)
return true;
else
return false;



isJSON(aa); //true,则aa是json字符串
isJSON(aa); //It is not a string! ,则aa不是json字符串

javascript 判断是否为 json 字符串

function isJSON(str) 
    if (typeof str != 'string')  // 1、传入值必须是 字符串
        console.log('It is not a string! [' + str + ']')
        return false;
    

    try 
        var obj = JSON.parse(str); // 2、仅仅通过 JSON.parse(str),不能完全检验一个字符串是JSON格式的字符串
        if (typeof obj == 'object' && obj)   //3、还必须是 object 类型
            console.log('转换成功:' + str);
            return true;
         else 
            console.log('转换失败:' + str);
            return false;
        

     catch (e) 
        console.log('error:[' + str + '] !!! ' + e);
        return false;
    
    return false;

测试代码:

isJSON('123');              // number
isJSON('aaaa');             // string
isJSON('"aaa"');
isJSON('true');             // 布尔
isJSON('["1","2"]');        // 数组
isJSON('["1211323","2"]'); // 数组 :含有字符
isJSON('[,"2"]');         // 数组 :子项包含对象
isJSON('[[,"2":"3"],"2"]'); // 多维数组

isJSON('name:"123"');     // 对象
isJSON('"name":"123"');   // json
isJSON('"name":"123",');  // 不规范的json

isJSON('');               // 空对象
isJSON('null');             // null
isJSON('Undefined');        // Undefined

运行结果:

以上是关于判断字符串是否json字符串的主要内容,如果未能解决你的问题,请参考以下文章

javascript 判断是否为 json 字符串

javascript 判断是否为 json 字符串

判断字符串是否为JSON

判断json对象是不是为空()

javascript 中如何判断是否是JSON格式的字符串

js判断字符串是否json格式