json对象在java和javascript中的遍历
来源:互联网 发布:淘宝店铺的链接在哪里 编辑:程序博客网 时间:2024/05/21 15:49
碰到这样的一个问题:在一个json对象中,例如jsonStr这个字符串,当我不知道people这个key值(或者people是一个不定的key)的时候,如何获取name属相的value?
var jsonStr='{"wp":"123","people":{"name":"test","age":20,"sex":"boy"},"animal":"pigs"}';
上代码
js中获取:
var json=JSON.parse(jsonStr);console.log(jsonTraversal(json,"name")); function jsonTraversal(json,WhatKey){ for(var p in json){ if(json[p] instanceof Object){ return jsonTraversal(json[p],WhatKey) }else{ if(p==WhatKey){ return json[p]; } } } }
java中获取:
针对低版本的
JSONObject obj=JSONObject.fromObject(jsonStr);
System.out.println(decodeJSONObject2(obj,whatkey));
//针对低版本的json-libpublic static Object decodeJSONObject2(JSONObject json,String whatkey){ Iterator<String> keys=json.keys(); JSONObject jo=null; Object o = null; String key; while(keys.hasNext()){ key=keys.next(); o=json.get(key); if(o instanceof JSONObject){ jo=(JSONObject)o; if(jo.keys().hasNext()){ return decodeJSONObject2(jo,whatkey); } }else{ if(key.equals(whatkey)){ break; } } }return o; } //针对高版本的json-lib public static Object decodeJSONObject(JSONObject json,String WhatKey){ Iterator<String> keys=json.keys(); JSONObject jo=null; Object o = null; String key; while(keys.hasNext()){ key=keys.next(); o=json.get(key); if(o instanceof JSONObject){ jo=(JSONObject)o; if(jo.keySet().size()>0){ return decodeJSONObject(jo,WhatKey); } }else{ if(key.equals(WhatKey)){ break; } } } return o; }
0 0
- json对象在java和javascript中的遍历
- Javascript遍历json对象
- json字符串在javascript和java代码中的表示方式
- java遍历json对象
- JSON字符串与JSON对象的相互转换(在JavaScript和Java中)
- javascript中的json对象
- JSON 在java javascript中的应用
- 【javascript】javascript中的JSON对象
- Javascript笔记 – Javascript中的JSON和对象
- JSON对象遍历和处理
- 遍历JavaScript对象中的属性和属性值
- javascript学习-创建json对象数据,遍历
- JavaScript解析Json中的对象
- javascript中的json对象应用
- javascript遍历json对象的key和任意js对象属性
- 【JavaScript】js中的JSON和数组的区别,JSON的遍历
- json在java和js中的使用
- Javascript遍历对象中的子对象
- 初认Objective-c NSNumber NSInteger int NSNumber转换
- MFC对话框button控件置灰
- 黑马程序员------进销存管理系统代码节选
- 使用Eclipse中提供的Refactor(重构)工具
- lua调用syslog; 使用C注册lua方法
- json对象在java和javascript中的遍历
- fh admin bootstrap 模版下载 框架 源码 SpringMVC mybatis or hibernate
- Verilog同步FIFO
- C语言:存取结构体成员的点运算符(.)和箭头运算符(->)的区别
- 搬迁学习笔记1——Handler的基本使用、子线程更新UI的方式
- 使用memcache和直接访问数据库的性能比较
- Block 笔记
- Mac系统怎么上谷歌
- 21st Century Earth