使用jQuery导航JSON

时间:2012-04-26 13:12:59

标签: jquery json parsing

我看到this answer处理从JSON获取数据。我试图做的几乎一样,但我的JSON结构与数组/对象的结构不同,我不知道如何以相同的方式解析它。

我的JSON采用这种格式,我正在尝试编写一个函数来根据链接的问题找到某些元素,但没有json中元素的键,不知道如何定位事物。或者我是否需要尝试重新编写json的输出? (由修改后的codeigniter数据库查询中的json_encode创建。

$(function() {
var json = [
  {

    "answer": [

      "4555"

    ],
    "answer_string": "4555|",
    "qid": "70",
    "aid": "742"
  }, 
 {

    "answer": [

      "monkeys",
      "badgers",
      "monkeybadgers"

    ],
    "answer_string": "monkeys|badgers|monkeybadgers|",
    "qid": "71",
    "aid": "742"
  }
];
    $.each(json[], function(i, v) {
        if (v.qid= "70") {
            alert(v.answer[0]);
            return;
        }
    });
});​

jsfiddle

我需要找到答案[0],其中qid匹配某个数字。

2 个答案:

答案 0 :(得分:1)

你的javascript搞砸了。请参阅更新的小提琴:

http://jsfiddle.net/jQmyf/2/

具体来说:if (v.qid= "70") {应为v.qid==

$.each(json[]应为$.each(json

答案 1 :(得分:0)

你应该只为每个人提供数组的名称:

$.each(ja, function(i, v) {

如果出现以下情况,请使用比较而不是分配:

if (v.qid== "70") {

$(function() {
    var ja= [
      {
        "answer": [

          "4555"
        ],
        "answer_string": "4555|",
        "qid": "70",
        "aid": "742"
      }
    ];
    $.each(ja, function(i, v) {
        if (v.qid== "70") {
            alert(v.answer[0]);
            return;
        }
    });
});​

Updated Fiddle