使用嵌套数组调用外部JSON日期

时间:2015-06-26 21:16:38

标签: javascript jquery arrays json

已经讨论了许多带有嵌套数组的JSON示例,但很难找到并学习如何将其应用到我的需求中。我有一个网站,我想使用JQuery从外部JSON文件中获取用户名和密码信息。

我用这种结构构建了JSON文件:

{"manufacturers": [
{"Acura": {
    "username":"some_username",
    "password":"some_password"
},
"Audi" : {
    "username":"some_username",
    "password":"some_password"
}]

我有想法只使用点击的元素ID来获取点击Jquery所需的登录信息,以识别需要的用户名和密码,并将其附加到ID为“#Audiusername”的textarea元素和“#Audiopassword”如... ...

$('.accordion > dt > a').click(function(event) {
var clickID = event.target.id;
$("#" + clickID +"username").append(makeUsername);
$("#" + clickID +"password").append(makePassword);

我让JQuery在附加字段中插入一个值作为set字符串,但我想从JSON文件中传递所需的变量。我试图以这种方式设置它,以便更容易管理更新登录信息,保持它像这样分开。我无法尝试提出一个JQuery语句,可以在单击时解析外部data.json文件,并为textarea元素的变量分配用户名和密码。有任何想法吗?帮助赞赏。使用JSON的新手。

2 个答案:

答案 0 :(得分:0)

这是一个错误的JSON。应该是:

{
    "manufacturers": [
        {
            "Acura": {
                "username": "some_username",
                "password": "some_password"
            },
            "Audi": {
                "username": "some_username",
                "password": "some_password"
            }
        }
    ]
}

要使用它,请使用jQuery中的$.getJSON()

答案 1 :(得分:0)

private List<Integer> withStreamSol2(List<Integer> values) {
    List<Integer> exactEqual = values.stream().filter(value -> value.intValue() == 10).limit(1)
            .collect(Collectors.toList());

    int index1 = 0;
    final List<Integer> result = new ArrayList<>();
    if (exactEqual.isEmpty()) {
        values.stream().forEach(value1 -> {
            if(!result.isEmpty()) // Query: How can stop outer forEach
                return;

            result.add(value1);
            result.addAll(values.stream().skip(index1).filter(value2 -> (value1 + value2) == 10).limit(1)
                    .collect(Collectors.toList()));
        });
    }

    return result;
}

认为这与我的点击事件相结合

function getLogin() {
$.getJSON('data3.json')
var makeUsername = manufacturers.clickID.username.val();
var makePassword = manufacturers.clickID.password.val();
};

会这样做,但我在某个地方遇到了问题