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

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

问题描述:

我正在创建一个web应用程序。我需要解析一个具有动态值的json。如何使用动态值解析和输出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得到的值。

谢谢!

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

用foreach循环:

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

我有这样的json {“name1”:“john”,“name2”:“adil”,“name3”:“vikas”......}和我想要在循环中访问这些值,而不必明确地写这个obj.name1或obj.name2 ... – Vikas 2011-03-24 21:20:58

+0

如果你想使用循环检查我的例子 - 我刚刚添加它 – smas 2011-03-24 21:43:09

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

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

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

我喜欢你的答案..请描述我详细... – Vikas 2011-03-24 21:28:57

+0

我不知道你需要什么更多的细节。你想用这些值做什么? – climbage 2011-03-24 21:32:11

+0

在这里写什么for循环来获取值... – Vikas 2011-03-24 21:43:51

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

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