您的位置:首页 > 移动开发 > Objective-C

Json工具,JsonObject、JsonArray、List<Map<String, Object>>、Map<String, Object>互转。

2015-08-20 13:58 1156 查看

通讯我们经常用到的Json,极其好用的转换工具类。public class JsonUtil {//把JsonArray的字符串转换成List<Map<String, Object>>public static List<Map<String, Object>> parseJsonArrayStrToListForMaps(String jsonArrayStr) {List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();try {if(jsonArrayStr != null) {JSONArray jsonArray = new JSONArray(jsonArrayStr);Map<String, Object> map = null;for(int j=0;j<jsonArray.length();j++) {JSONObject jsonObject = jsonArray.getJSONObject(j);map = parseJsonObjectStrToMap(jsonObject.toString());if(map != null) {list.add(map);}}}} catch(Exception e) {e.printStackTrace();}if(list.size() == 0) {return null;}return list;}//把JsonObject的字符串转换成Map<String, Object>public static Map<String, Object> parseJsonObjectStrToMap(String jsonObjectStr) {Map<String, Object> map = new HashMap<String, Object>();try {if(jsonObjectStr != null) {JSONObject jsonObject = new JSONObject(jsonObjectStr);for(int j=0;j<jsonObject.length();j++) {Iterator<String> iterator = jsonObject.keys();while(iterator.hasNext()) {String key = iterator.next();Object value = jsonObject.get(key);map.put(key, value);}}}} catch(Exception e) {e.printStackTrace();}if(map.size() == 0) {return null;}return map;}//把List<Map<String, Object>>的字符串转换成JsonArraypublic static String parseListForMapsToJsonArrayStr(List<Map<String, Object>> list) {String jsonArrayStr = null;if(list != null && list.size() != 0) {JSONArray jsonArray = new JSONArray();JSONObject jsonObject = null;Object value = null;for(Map<String, Object> map : list) {jsonObject = new JSONObject();Set<String> set = map.keySet();for(String key : set) {value = map.get(key);if(value != null) {try {jsonObject.put(key, value.toString());} catch (JSONException e) {e.printStackTrace();}}}if(jsonObject.length() != 0) {jsonArray.put(jsonObject);}}jsonArrayStr = jsonArray.toString();}return jsonArrayStr;}//把Map<String, Object>的字符串转换成JsonObjectpublic static String parseMapToJsonObjectStr(Map<String, Object> map) {String result = null;if(map != null && map.keySet().size() != 0) {Set<String> set = map.keySet();JSONObject jsonObject = new JSONObject();Object value = null;for(String key : set) {value = map.get(key);if(value != null) {try {jsonObject.put(key, value.toString());} catch (JSONException e) {e.printStackTrace();}}}if(jsonObject.length() != 0) {result = jsonObject.toString();}}return result;}}
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json class