"speciation":{
"213":{"attr_type":1,"value":[{"id":18844,"label":"长139×宽14×高14mm ","price":0}],"name":"尺寸"},
"214":{"attr_type":1,"value":[{"id":4005,"label":"黑色","price":0}] ,"name":"颜色"}
}
如上:我将"speciation",{JSONObject jsonobjects = result.getJSONObject("specification");获取数据,但“213”和“214”是动态的,我如何继续解析获取对应的name和label呢?谢谢
你可以吧JSONObject当成一个Map来处理(JSONObject本来就实现了Map接口),可以直接用.keySet()获取key,然后.getJSONObject(key)来获取内容。
什么是反射机制
反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。
在JavaScript中利用for(…in…)语句实现反射
在JavaScript中有一个很方便的语法来实现反射,即for(…in…)语句,其语法如下:
for(var p in obj){
//语句
}
这里var p表示声明的一个变量,用以存储对象obj的属性(方法)名称,有了对象名和属性(方法)名,就可以使用方括号语法来调用一个对象的属性(方法):
for(var p in obj){
if(typeof(obj[p]=="function"){
objp;
}else{
alert(obj[p]);
}
}
[b]这段语句遍历obj对象的所有属性和方法,遇到属性则弹出它的值,遇到方法则立刻执行。在后面可以看到,在面向对象的JavaScript程序设计中,反射机制是很重要的一种技术,它在实现类的继承中发挥了很大的作用。[/b]
动态的?
213.value.label
?
http://blog.csdn.net/hardwin/archive/2009/10/11/4652704.aspx
看看这个应该可以解决 自己动动手