2011-03-24 69 views
0

我正在創建一個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得到的值。

謝謝!

回答

2
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

0

假設這必須是完全動態的...

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

1

你爲什麼要動態對象的名字呢?看起來像這會讓你用來處理它的所有代碼更加複雜。可行的是,爲什麼不把你添加到對象名稱的數字作爲值傳遞,並使用一個對象數組。例如。創建這樣的對象

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