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

有趣Web之Json(四)---json与(Object/List/Map)相互转化

2015-09-08 19:21 471 查看
干web报名时间。通常,他们需要json转换为Object/list/map要么Object/List/map转换为json,由能够编写代码的简单包装非常多,以减轻负担。

本文将给出json的一系列的方法转换。 闲话不 讲。直接在代码:

首先Object /List /Map转化为Json

/* 功能      :将一个对象转成json数组
* 參数      :object对象
* return    :json数组
* */
public String getJsonByJSONArrayFromObject(Object o) {
JSONArray json = JSONArray.fromObject(o);
return json.toString();
}
/* 功能     :将一个对象转成json对象
* 參数      :object对象
* return    :json对象
* */
public String getJsonByBeanFromObject(Object o) {
JSONObject jsonObj = JSONObject.fromObject(o);
return jsonObj.toString();
}

/* 功能      :将一个List转成json数组
* 參数      :对象list
* return    :json数组
* 返回的格式: [{"password":"1234","username":"cxl"}]
* */
public String getJsonByJSONArrayFromList(List list) {
JSONArray json = JSONArray.fromObject(list);
return json.toString();
}
/* 功能                     :将一个List转成json对象
* 參数                     :对象list
* return    :json对象
* */
public String getJsonByJSONObjectFromList(List list) {
JSONObject jsonObj = new JSONObject();
for (int i = 0; i < list.size(); i++) {
jsonObj.put(list.get(i).toString(), list.get(i));
}
return jsonObj.toString();
}
/* 功能      :将一个map转成json数组
* 參数      :map
* return    :json数组
* */
public String getJsonByJSONArrayFromMap(Map map) {
JSONArray json = JSONArray.fromObject(map);
return json.toString();
}
/* 功能      :将一个map转成json对象
* 參数      :map
* return    :json对象
* */
/*
* Map<String,Object> map = new HashMap<String,Object>(); map.put("users",
* users); map.put("u", u);
*/
public String getJsonByJSONObjectFromMap(Map map) {
JSONObject json = JSONObject.fromObject(map);
return json.toString();
}

然后是json转化为其它类型

/*
* 功能    :将json对象(仅仅有一组值)转成object
* 參数    :json字符串
* return  : javabean 对象
*
* */
// {id:'id1',code:'code1',name:'name1'}
public Object getBeantByJSONObjectFromJson(String json) {
JSONObject jsonObject = JSONObject.fromObject(json);
Object  object=(Object)JSONObject.toBean(jsonObject);
return object;
}
/*
* 功能                 :将json转成map
* 參数                 :json字符串
* return  : map
* */
// {id:'id1',code:'code1',name:'name1'}
public Map<String, Object> getMapByJson(String json) {
Map<String, Object> map = new HashMap<String, Object>();
// 最外层解析
JSONObject object = JSONObject.fromObject(json);
for (Object k : object.keySet()) {
Object v = object.get(k);
map.put(k.toString(), v);
}
return map;
}
/*
* 功能                 :将json转成list
* 參数                 :json字符串
* return  : list
* */
// [{id:'id1',code:'code1',name:'name1'},{id:'id2',code:'code2',name:'name2'}]
public List getListByJSONArrayFromJson(String json) {
JSONArray array = JSONArray.fromObject(json);
List list=(List)JSONArray.toList(array);
return array;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: