【问题标题】:Getting a set of objects belonging to a JSON object by its value通过其值获取属于 JSON 对象的一组对象
【发布时间】:2012-10-25 06:41:22
【问题描述】:

我正在使用 jQuery mobile 开发一个 Phonegap 应用程序,为此我使用本地 JSON 文件来存储一堆东西。

我想使用 JSON 文件中的各种对象和值动态填充页面,其布局类似于…

{"root" :[    
{"thingy" : "Bobby",
      "bits" : {
        "stuff" : {
          "One" : 1,
          "Two" : "Too"
        }
      },
      "bobs" : {
        "nicknackOne" : {
          "Three" : 3,
          "Four" : "Fore"
        },
        "nicknackTwo" : {
          "Five" : 5,
          "Six" : "Sicks"
        }
      }
    },
{"thingy" : "Majig",
      "bits" : {
        "stuff" : {
          "Seven" : "Ceven",
          "Eight" : "Ate"
        }
      },
      "bobs" : {
        "nicknackOne" : {
          "Nine" : 9,
          "Ten" : "Tenne"
        },
        "nicknackTwo" : {
          "Eleven" : 11,
          "Twelve" : "Tw' Elve"
        }
      }
    }
]}

一个页面会从 'thingy's 创建一个包含“Bobby”和“Majig”的链接列表。 'thingy' 的值被保存为一个全局变量,我想在新页面上使用它来显示所有附加的子对象。

所以我正在努力获取价值 - “鲍比”并展示所有相关的东西。

喜欢做的是这样的事情……

  $.getJSON(url, {request just"Bobb"} function(data) {
//Inject the values in 'data' as HTML
});

请多多包涵,我是新手,仍在努力掌握 jQuery。非常感谢所有帮助。

提前致谢。

【问题讨论】:

    标签: jquery json jquery-mobile getjson


    【解决方案1】:

    据我所知,如果没有服务器端处理该类型的请求,您就无法请求静态 JSON 文件的特定部分。您需要提取整个文件,然后提取所需的部分。

    $.getJSON(url, function(data) {
      for (var i=0;i<data.root.length;i++){
        if (data.root[i].thingy == "Bobby"){
          // do stuff
        }
      }
    });
    

    【讨论】:

    • 感谢@climbage - 令人惊讶的快速响应。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多