0

2 つの JavaScript 変数を次に示します。

<script language="javascript" type="text/javascript">
var example1 = 'Mr.:1|Mrs.:2|Ms.:3|Dr.:4|Sr.:5|Jr.:6';
var example2 = {'Mr.':'1','Mrs.':'2','Ms.':'3','Dr.':'4','Sr.':'5','Jr.':'6'}
</script>

JavaScriptを使用して、どれがそうでないかを検出する方法はありjsonますか?

4

4 に答える 4

5

JSON.parse 関数を使用できます: http://msdn.microsoft.com/en-us/library/cc836466%28v=vs.85%29.aspx

渡されたテキストが有効な JSON でない場合、これは例外をスローします。

編集:

JSON コードを貼り付けていないことを指摘するコメントは正しいです。このコード:

var json = {"var1":"val1"};

実際には JavaScript オブジェクトです。見た目は非常に似ており、(JSON.stringify と JSON.parse を使用して) 2 つの間を行き来するのは非常に簡単ですが、それらは異なる概念です。

于 2013-09-30T18:57:47.183 に答える
2

try catch を使用して、それに応じて処理します。

function IsJsonString(str) {
  try {
      JSON.parse(str);
  } catch (e) {
      return false;
  }
  return true;
}
于 2013-09-30T19:00:21.640 に答える
1

jsで変数の型を取得したい場合、

これを試すことができます

typeof("somevalue")
//returns string

typeof 配列またはオブジェクトは、次のように「オブジェクト」を返します

var arr = [];
typeof(arr) // returns 'object'
于 2013-09-30T18:59:54.483 に答える
1

このような

try {
    JSON.parse(example1);
} catch (e) {
    console.log(example1+' is not valid JSON');
}
于 2013-09-30T18:59:54.903 に答える