Como verificar se é uma string ou json [duplicate]

Esta questão já tem uma resposta aqui:

Como testar se uma string é JSON ou não? 15 respostas

Eu tenho uma seqüência json que é convertida de objeto pela função JSON.Stringify.

Eu gostaria de saber se é json string ou apenas uma string regular.

Existe alguma função como "isJson ()" para verificar se é json ou não?

Eu gostaria de usar a função quando eu uso o armazenamento local como o código abaixo.

Agradeço antecipadamente!!

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'));

questionAnswers(5)

yourAnswerToTheQuestion