1. ホーム
  2. ジャバスクリプト

[解決済み】文字列がJSONであるかどうかをテストするにはどうすればよいですか?

2022-04-04 17:15:09

質問

単純なAJAX呼び出しがあり、サーバーは有用なデータを含むJSON文字列か、PHP関数によって生成されたエラーメッセージ文字列のいずれかを返します。 mysql_error() . このデータがJSON文字列かエラーメッセージかをテストするにはどうすればよいですか。

という関数が使えるといいんですけどね。 isJSON という関数が使えるのと同じように instanceof を使用して、何かがArrayであるかどうかをテストします。

これが私の欲しいものです。

if (isJSON(data)){
    //do some data stuff
}else{
    //report the error
    alert(data);
}

解決方法は?

JSON.parseを使用する

function isJson(str) {
    try {
        JSON.parse(str);
    } catch (e) {
        return false;
    }
    return true;
}