js判断字符串是否为json字符串

我们在开发中,可能会遇到后端返回的值有些是json字符串有些不是,这样我们在渲染或逻辑操作过程中就会报错!

 所以我们要对将所有的json格式全部转换为普通的string。

这边我封装了一个方法,大家可以直接复制就能使用:

1、通过模块化,将这个方法给单独封装起来,在需要的页面进行引用即可!

// 判断的是否是JSON字符串
export const type=(str)=>{
	if (typeof str == 'string') {
	      try {
	        var obj = JSON.parse(str);
			// 等于这个条件说明就是JSON字符串 会返回true
	        if (typeof obj == 'object' && obj) {
	          return true;
	        } else {
				//不是就返回false
	          return false;
	        }
	      } catch (e) {
	        return false;
	      }
	    }
	    return false;
}

2、通过 import {type} from "你存放方法的文件路径" 引入!

3、在js逻辑中进行操作,让他转为格式:

// 转换json格式
//如果是json格式 type(放入要检测的值) 会返回true 才会进入if里里面
if (type(val.value)) {
// console.log('json');
//确认是json格式后 我们进行转换 使用JSON.parse()
val.value = JSON.parse(val.value)
}

4、最后我们的值都会变成不需要额外操作可以正常使用的字符串!

这里最好建议大家尝试与后端沟通确定好返回的格式,这样就不需要自己去操作了。

最后操作不易,搬运请挂载出处,谢谢大家!

你可能感兴趣的:(json)