0

我看到这个答案处理从 JSON 获取数据。我正在尝试做几乎相同的事情,但我的 JSON 的结构与数组/对象不同,我不确定如何以相同的方式解析它。

我的 JSON 是这种格式,我正在尝试编写一个函数来根据链接的问题查找某些元素,但没有 json 中元素的键,不确定如何定位。还是我需要尝试重新处理我的 json 输出?(它是由 json_encode 从修改后的 codeigniter db 查询创建的。

$(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

我需要找到 qid 匹配某个数字的 answer[0] 。

4

2 回答 2

1

你的 javascript 搞砸了。查看更新的小提琴:

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

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

应该$.each(json[]只是$.each(json

于 2012-04-26T13:19:21.740 回答
0

您应该只给每个数组的名称:

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

在 if 中使用比较而不是赋值:

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;
        }
    });
});​

更新小提琴

于 2012-04-26T13:30:40.690 回答