如何使用动态值解析和输出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]);
}
答
你为什么要动态对象的名字呢?看起来像这会让你用来处理它的所有代码更加复杂。可行的是,为什么不把你添加到对象名称的数字作为值传递,并使用一个对象数组。例如。创建这样的对象
{ "qno":
[{"id":1,"value":"somedata"},
{"id":2,"value":"somedata"},
...],
"qname": ...
}
我有这样的json {“name1”:“john”,“name2”:“adil”,“name3”:“vikas”......}和我想要在循环中访问这些值,而不必明确地写这个obj.name1或obj.name2 ... – Vikas 2011-03-24 21:20:58
如果你想使用循环检查我的例子 - 我刚刚添加它 – smas 2011-03-24 21:43:09