Cómo verificar si es una cadena o json [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo probar si una cadena es JSON o no? 15 respuestas

Tengo una cadena json que se convierte desde el objeto mediante la función JSON.Stringify.

Me gustaría saber si es una cadena json o solo una cadena normal.

¿Hay alguna función como "isJson ()" para verificar si es json o no?

Me gustaría usar la función cuando uso el almacenamiento local como el código a continuación.

¡¡Gracias de antemano!!

var Storage = function(){}

Storage.prototype = {

  setStorage: function(key, data){

    if(typeof data == 'object'){

      data = JSON.stringify(data);
      localStorage.setItem(key, data);     

    } else {
      localStorage.setItem(key, data);
    }

  },


  getStorage: function(key){

    var data = localStorage.getItem(key);

    if(isJson(data){ // is there any function to check if the argument is json or string?

      data = JSON.parse(data);
      return data;

    } else {

      return data;
    }

  }

}

var storage = new Storage();

storage.setStorage('test', {x:'x', y:'y'});

console.log(storage.getStorage('test'));

Respuestas a la pregunta(5)

Su respuesta a la pregunta