判断输出的格式是不是为json数据

判断输出的格式是否为json数据
需要从后台输出json格式数据,不知道怎么判断是否输出的是json数据,代码如下

$("#file_transitions").load(function(){

  var bd, data;
  if(this.contentWindow){
  bd = this.contentWindow.document.body;
  }
  else if(this.contentDocument){
  bd = this.contentDocument.body;
  }
  var guala=bd.innerHTML;
 alert(guala);
               

 data = JSON.parse(guala);
                         alert(data);//如果guala不是json格式数据,这里不会输出
 }); 


请教怎么判断guala是否是json格式数据,还有如果guala不是json格式数据,alert(data)为什么没有输出,不应该输出个空吗
------解决方案--------------------
不是 json 自然会转换失败啦
如果用正则检查他是否正确,考虑到 json 中可能有对象数组多重嵌套。规则串并不很好写
不如直接用 eval 去转啦
  s = '{1,2,3]';
  try {
    d = eval('(' +s +')');
  }catch(e) {
    d = '失败';
  }
  alert(d);