问题描述
"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)来获取内容。
解决方案二:
http://blog.csdn.net/hardwin/archive/2009/10/11/4652704.aspx 看看这个应该可以解决 自己动动手
解决方案三:
动态的? 213.value.label ?
解决方案四:
什么是反射机制反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。在JavaScript中利用for(…in…)语句实现反射在JavaScript中有一个很方便的语法来实现反射,即for(…in…)语句,其语法如下:for(var p in obj){ //语句}这里var p表示声明的一个变量,用以存储对象obj的属性(方法)名称,有了对象名和属性(方法)名,就可以使用方括号语法来调用一个对象的属性(方法):for(var p in obj){ if(typeof(obj[p]=="function"){ obj[p](); }else{ alert(obj[p]); }}这段语句遍历obj对象的所有属性和方法,遇到属性则弹出它的值,遇到方法则立刻执行。在后面可以看到,在面向对象的JavaScript程序设计中,反射机制是很重要的一种技术,它在实现类的继承中发挥了很大的作用。