获取JSONObject里所有key
2015-09-24 20:10
621 查看
在使用net.sf.json.JSONObject的过程中想到需要遍历JSONObject里的所有key-value的key集合,开始以为通过iterator()可以遍历,或者有相应的keySets()方法,结果发现JSONObject并没有提供能够获取到JSONObject里所有key的方法,所以决定自己写一个方法能够遍历所有的key的方法。
典型的JSON格式如下:String s = "{'age':22,'sex':'男','userName':'xiapi'}";
String s1 = "{\"age':22,\"sex\":'男',\"userName\":'xiapi'}";
/**
* 得到JSONObject里的所有key
* @param jsonObject JSONObject实例对象
* @return Set
*/
public static Set<String> getAllKeys(JSONObject jsonObject) {
return getAllKeys(jsonObject.toString());
}
/**
* 从JSON字符串里得到所有key
* @param jsonString json字符串
* @return Set
*/
public static Set<String> getAllKeys(String jsonString) {
Set<String> set = getHashSetInstance();
//按照","将json字符串分割成String数组
String[] keyValue = jsonString.split(",");
for(int i=0; i<keyValue.length; i++) {
String s = keyValue[i];
//找到":"所在的位置,然后截取
int index = s.indexOf(":");
//第一个字符串因带有json的"{",需要特殊处理
if(i==0) {
set.add(s.substring(2, index-1));
} else {
set.add(s.substring(1, index-1));
}
}
return set;
}
典型的JSON格式如下:String s = "{'age':22,'sex':'男','userName':'xiapi'}";
String s1 = "{\"age':22,\"sex\":'男',\"userName\":'xiapi'}";
/**
* 得到JSONObject里的所有key
* @param jsonObject JSONObject实例对象
* @return Set
*/
public static Set<String> getAllKeys(JSONObject jsonObject) {
return getAllKeys(jsonObject.toString());
}
/**
* 从JSON字符串里得到所有key
* @param jsonString json字符串
* @return Set
*/
public static Set<String> getAllKeys(String jsonString) {
Set<String> set = getHashSetInstance();
//按照","将json字符串分割成String数组
String[] keyValue = jsonString.split(",");
for(int i=0; i<keyValue.length; i++) {
String s = keyValue[i];
//找到":"所在的位置,然后截取
int index = s.indexOf(":");
//第一个字符串因带有json的"{",需要特殊处理
if(i==0) {
set.add(s.substring(2, index-1));
} else {
set.add(s.substring(1, index-1));
}
}
return set;
}
相关文章推荐
- 【IOS 开发学习总结-OC-17】★★objective-c面向对象之——多态
- Object-c 面向对象(四)
- Object-c 面向对象(三)
- Object-c 面向对象(二)
- Object-c 面向对象(一)
- QT的元对象系统(Meta-Object System)
- Objective-C 学习笔记二
- Objective-c 消息转发机制
- 黑马程序员-----------Objective-C基础-----------OC简介
- json对象、json格式字符串、java对象【使用此net.sf.json.JSONObject将java对象[比如数组集合Map、Map扩展]转换成json格式字符串】
- 【IOS 开发学习总结-OC-16】★★objective-c面向对象之——类的继承
- Objective-C: 字符串NSString与NSMutableString
- org.json.JSONObject的optXXX方法
- Objective-C中把数组中字典中的数据转换成URL
- Objective-C中把URL请求的参数转换为字典
- Object有哪些公用方法?
- objective-c 学习笔记一
- Objective-C基础语法(二)
- Objective-C 学习笔记 12 预处理程序
- 【IOS 开发学习总结-OC-15】objective-c面向对象之——对象初始化