如何使用动态值解析和输出JSON对象?

时间:2011-03-24 21:17:34

标签: java jquery json parsing

我正在创建一个网络应用程序。我需要解析一个具有动态值的json。

 ResultSet rs = stmt.executeQuery(query);
    int  i=0;
        while(rs.next())
        {
            i++;
            object.put("qno"+i,rs.getInt(1));
            object.put("qname"+i,rs.getString(2));
            object.put("opA"+i,rs.getString(3));
            object.put("opB"+i,rs.getString(4));
            object.put("opC"+i,rs.getString(5));
            object.put("opD"+i,rs.getString(6));
            object.put("answer"+i,rs.getString(7));
        }

我正在获得这样的JSON ...... {"qno1":"1","qname":"asdgdfh","qno2":"2" ........ .... .... "qno20":"20"......}

如何通过使用jQuery解析json来获取值。

谢谢!

3 个答案:

答案 0 :(得分:2)

var obj = jQuery.parseJSON('{"name1":"John","name2":"Mary"}');
alert( obj.name1 === "John" );

使用foreach-loop:

for (var o in obj) {
    alert(o + " " + obj[o]);
}

答案 1 :(得分:1)

为什么要动态对象名称?似乎这会使你用来处理它的所有代码变得更加复杂。可行,为什么不将您要添加到对象名称的数字作为值传递,并使用对象数组。例如。创建看起来像这样的对象

{ "qno": 
    [{"id":1,"value":"somedata"},
     {"id":2,"value":"somedata"},
     ...],
  "qname": ... 
}

答案 2 :(得分:0)

假设这必须是完全动态的......

 json = {"a1" : "one", "a2" : "two"}

 for (var key in json){
    // key = key
    // value = json[key]
 }