本文目录一览:
- 1、JAVA中按原顺序遍历JSONObject
- 2、Java实现JSON多层遍历
- 3、JAVA中遍历JSONObject不能按原顺序遍历
- 4、请问怎样用Java语言遍历json对象,得到对象中的某个集合中的值?
JAVA中按原顺序遍历JSONObject
正常的玩法应该是这样, 因为 ObjectMapper 有各种配置, 可以更好的实现转换, 比如 解析数据顺序, 忽略错误字段 等等 高端大气上档次的东西, 你的方法已经被时代淘汰了。
ObjectMapper objectMapper = new ObjectMapper();
Map map = objectMapper.readValue(resultStr,LinkedHashMap.class);
Java实现JSON多层遍历
JSONObject jsonObject = new JSONObject(s);
然后用Iterator迭代器遍历取值,建议用反射机制解析到封装好的对象中
JSONObject jsonObject = new JSONObject(jsonString);
Iterator iterator = jsonObject.keys();while(iterator.hasNext()){
key = (String) iterator.next();
value = jsonObject.getString(key);
}
JAVA中遍历JSONObject不能按原顺序遍历
这个估计没办法,json本来就是无序的。我来试一下,没遇到这种情况。
可以重写原码,不过不推荐,如下:
要使输出是有序的,可以用LinkedHashMap来替换HashMap。
修改org.json.JSONObject的构造函数,
public JSONObject() {
this.map = new LinkedHashMap(); //new HashMap();
}
可能会对JSON 函数的执行效率有所影响。
请问怎样用Java语言遍历json对象,得到对象中的某个集合中的值?
JSONObject jsonObject = new JSONObject(s);
然后用Iterator迭代器遍历取值,建议用反射机制解析到封装好的对象中