添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

js判断字符串是否为json格式或能转为json对象?

时间: 作者:admin 浏览:

一、基础

export default{
    methods:{
        canParseToJson(str, parseFlag){
                if(typeof JSON.parse(str)==="object" && Object.prototype.toString.call(JSON.parse(str))==="[object Object]"){
                    return parseFlag===true?JSON.parse(str) : true
            }catch(e){}
            return false
this.canParseToJson("{a:1}")//true
this.canParseToJson("{a:1}", true)//{a:1}
this.canParseToJson("aaaaa")//false

二、进阶

为了将方法写的更健壮,str参数不一定就只能是字符串,如果直接给过来一个json,也直接返回true或者本身,用以应对后端返回的数据可能是一个json:

{code:200, msg:"成功", list: []}

又或者是json字符串:

'{"code":200,"msg":"成功","list":[]}'

最终代码如下:

export default{
    methods:{
        canParseToJson(str, parseFlag){
            if(this.isJson(str)){
                return parseFlag?str : true
                return parseFlag?JSON.parse(str) : this.isJson(JSON.parse(str))
            }catch(e){}
            return false
        isJson(obj){
            return typeof obj === 'object' && Object.prototype.toString.call(obj) === '[object Object]'
			        -->
					
			        

栏目文章