Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我们可以用引号验证json中的数字是否无效吗?_Javascript_Json - Fatal编程技术网

Javascript 我们可以用引号验证json中的数字是否无效吗?

Javascript 我们可以用引号验证json中的数字是否无效吗?,javascript,json,Javascript,Json,我有一个JSON主体,它包含数字、字符串、布尔值和数组值 { "name": "vivek", "age": 12, "employed": true, "cars": ["maruti", "wagonR"] } 唯一可以接受的情况应该是{age:12}年龄。 在所有其他情况下,应要求重新输入年龄。{年龄:12} 有什么可能的方法来验证这一点?您可以解析JSON并检查其属性“age”的类型,或者它是否存在。还有其他方法,但通过检查类型更安全,因为年龄可以是任何

我有一个JSON主体,它包含数字、字符串、布尔值和数组值

{
    "name": "vivek",
    "age": 12,
    "employed": true,
    "cars": ["maruti", "wagonR"]
}
唯一可以接受的情况应该是{age:12}年龄。 在所有其他情况下,应要求重新输入年龄。{年龄:12}
有什么可能的方法来验证这一点?

您可以解析JSON并检查其属性“age”的类型,或者它是否存在。还有其他方法,但通过检查类型更安全,因为年龄可以是任何值,获取其构造函数属性可能会导致异常

var json = JSON.parse('JSON CONTENTS');

// Fast way to check whether getters operations can
// be done at json.
if (json) {
    var age = json.age;

    if (json.hasOwnProperty('age')) {
        var type = typeof age;
        if (type !== 'number')
            throw new Error('age cannot be a ' + type);
    } else {
        throw new Error('age is required');
    }
}

解析JSON后,我会使用一元typeof检查值的类型。将JSON解码为一个对象,检查值的类型,抛出您想要的任何错误…?!谢谢,成功了。在解析JSON之前,我只需要对它进行字符串化。@user2745101嘿,但是你不需要对它进行字符串化/解析–如果你已经可以访问它,我就无法直接访问JSON。它是按要求来的APIGEE@user2745101它是以字符串的形式出现的吗?那你就不需要把它串起来了,不应该。如果它是作为对象出现的,那么应该是您解析的JSON对象,尽管JSON可以由任何类型的值组成。