如何访问多维数组JSON与jQuery值(How to access values in a mul

2019-07-17 10:38发布

所以我取一个多维JSON阵列的getJSON和我要访问数组中的值,但比数组中的第一个元素不能达到更长的时间。

"producers",
[
    {
        "producer":{
            "id":"1",
            "name":"Em\u00e5mejeriet",
            "address":" Grenv\u00e4gen 1-3",
            "zipcode":" 577 39",
            "district":" Hultsfred",
            "webpage":"http:\/\/www.emamejeriet.se",
            "logoURL":"..\/producenter\/images\/ema.png",
            "latitude":"57.4999",
            "longitude":"15.828"
        }
    },
    {
        "producer":{
            "id":"2",

...等等。

我的代码:

$.getJSON("/url/producers.json", function(data) {
    $.each(data, function() {
        $.each(this, function(key, value) {
            console.log(value.producer);
        });
    });
});

输出是一个对象,我不知道有什么更好的方式来贴吧,从浏览器控制台复制“ > Object {id: "1", name: "Emåmejeriet", address: "Grenvägen 1-3, zipcode: "577 39", disctrict: "Hulsfred"...}

我已经搜索并测试了不同的方法,我说,从这个论坛上,但不能让我的头周围。

Answer 1:

如果输出value.producer是一个对象,那么你应该能够访问该对象的属性。 例如, value.producer.name应该输出“asdfsadf”。

UPDATE

看起来好像你的JSON数据是无效的。 (我假设“生产者”是数据对象和属性值的属性的所有“生产者”对象中的一个阵列)。

我创建这个小提琴( http://jsfiddle.net/kAsPm/ ),它按预期工作。 我不得不逗号改为“生产”后,一个冒号:

"producers":  // changed from "producers",
[
    {
        "producer":{
            "id":"1",
            ...


Answer 2:

打开Firebug的控制台,粘贴以下,并执行:

var json = '{' + 
'"peopleList":[' +
'{"id":1,"name":"marcelo","address":"rua meh","phone":"85 99999999"},'+
'{"id":2,"name":"marcelo2","address":"rua meh2","phone":"85 9999.9999"}]}';

var parsed = JSON.parse(json);

现在,你将有你的JSON的第二层下的两个对象,你需要指定对象,然后你会看到,它可以让你选择它的属性:

parsed.peopleList[0].name

与动态生成JSON工作之前,获取用于测试目的(具有相同的结构,当然)一些虚拟的数据,并实现最终的代码之前它玩。



Answer 3:

我用tempo.js渲染引擎,它确实多维数组渲染。 这里是链接http://tempojs.com/

下载tempo.cs并按照链接。



文章来源: How to access values in a multidimensional JSON array with jQuery