如何检查另一个JSON对象是否存在

The*_*nor 5 html javascript json

我在JSON(data.json)中有两组数据,如下所示:

UP = [{"password": "jhonjhon", "username":"jhon"}, {"password": "juliejulie", "username":"julie"}, {"password": "blakeblake", "username":"blake"}];
Run Code Online (Sandbox Code Playgroud)

Admins = '[{"Admin":"jhon"}, {"Admin":"julie"}]';
Run Code Online (Sandbox Code Playgroud)

我有一个用户将用于登录的HTML表单.

<html>
<body>

    <form name="myForm" onsubmit="finalCheck()">
        UserName<input type="text" id="uid" value="UserId"/>
        UserPassword<input type="password" id="pwd" value="UserPwd"/>
        <input type="submit"/>
    </form>
</body>
    <script src="data.json"></script>
    <script src="checking.js"></script>
</html>
Run Code Online (Sandbox Code Playgroud)

在单击提交按钮时,我想首先检查输入的用户名(存储在var中,比如说x)是否属于Admins我的JSON文件中的列表.例如:如果xjhon我想知道如果同样jhon的存在Admins中的JSON.

截至目前的JavaScript如下:

function finalcheck(){
    var x = document.forms["myForm"]["uid"].value;
    var y = document.forms["myForm"]["pwd"].value;
}
Run Code Online (Sandbox Code Playgroud)

非常感谢帮助JavaScript!

Utk*_*rsh 1

您应该循环遍历 JSON 对象并检查uid是否存在。

adminFlagx如果存在于 中,则设置为 true Admins

尝试下面给出的代码:

function finalCheck(){
    var adminJSON = JSON.parse(Admins), // since Admins is string, parse to Json first
        length = adminJSON.length,
        x = document.forms["myForm"]["uid"].value,
        y = document.forms["myForm"]["pwd"].value,
        adminFlag = false;

        // for loop to find admin is present or not
        for(var i = 0; i < length; i++){
            if(adminJSON[i].Admin == x){
               adminFlag = true;
               break;
            }
        }
}
Run Code Online (Sandbox Code Playgroud)