От клиента было обнаружено потенциально опасное значение Request.Form (wresult = & ldquo; < trust: RequestSecuri & hellip; & rdquo;)

Этот код JSON.parse(1234) или JSON.parse(0) или JSON.parse(false) или JSON.parse(null) все вернет true.

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

Итак, я переписал код таким образом:

function isJson(item) {
    item = typeof item !== "string"
        ? JSON.stringify(item)
        : item;

    try {
        item = JSON.parse(item);
    } catch (e) {
        return false;
    }

    if (typeof item === "object" && item !== null) {
        return true;
    }

    return false;
}

Результат тестирования:

isJson результат теста

16
задан Ufuk Hacıoğulları 17 June 2012 в 16:14
поделиться