判断一个变量是不是json,以及如何将变量转换成json

https://blog.csdn.net/A123638/article/details/52486975这里看到一个很好的方法

//判断obj是否为json对象
function isJson(obj){
    var isjson = typeof(obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object object]" && !obj.length; 
    return isjson;

但是我这里有一个需求,判断任何一个变量(任何类型)能不能转换成json对象,并转换;此时要考虑有一些可以转换成json的string类型了

  /* 获取任何变量的json */
  getJson(variable: any): object {
    if (!variable) return null;
    if (
      typeof variable === "object" &&
      Object.prototype.toString.call(variable).toLowerCase() ==
        "[object object]" &&
      !variable.length
    ) {
      return variable;
    }
    try {
      let json = JSON.parse(variable);
      return json;
    } catch {
      return null;
    }
  }

猜你喜欢

转载自www.cnblogs.com/XHappyness/p/10288792.html