繁体   English   中英

从树中获取json数据并馈入关联数组

[英]getting json data from tree and feeding through to associative array

我正在尝试读取JSON API,并将数据解析为关联数组,但似乎无法正常工作。 我一定做错了什么。

这是我的代码:

   var matchedValues = {};

    $.getJSON(url ,function(data) {
        $.each(data, function() {
            var value = this["value"];
            var climb = this["climb"];
            matchedValues[value] = climb;
        });
    });

    console.log(matchedValues); //Outputs Object{}

有任何想法吗? 我认为控制台没有正确记录日志,或者我做错了什么?

谢谢

从jQuery文档尝试这种方法

编辑:

$.getJSON(url, function(data) {
var matchedValues = {};
$.each(data, function(key, val) {
items[key] = val;
});

matchedValues是一个Object而不是数组。 尝试一些likmatchedValues['your_key']以获取值。

我假设从ajax调用返回的数据是您希望解析的JSON字符串。 如果是这种情况,则可以使用JavaScript的JSON对象解决问题:

var matchedValues = {};

$.getJSON(url ,function(data) {
    matchedValues=JSON.parse(data);
});

console.log(JSON.stringfy(matchedValues)); //Outputs Object{}

如上例所示,您必须逆转该过程才能将其打印出来。

请参阅JSON MDN文章

如果我理解您的问题,那么您的数据就是一个对象Array ,您想将它们合并到一个大对象中。 如果正确,请使用以下方法:

var matchedValues = {};
$.getJSON("ajax/test.json", function(data) {
    for (var i = 0; i < data.length; i++) {
        for (key in data[i]) {
            matchedValues[key] = data[i][key];
        }
    }
    console.log(matchedValues); //this should print your object.
});

数据对象必须具有不同的键,否则它们将重叠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM