关闭

开发:随笔记录之 Json字符串 与 List、HashMap对象的转换

标签: javajson
14527人阅读 评论(4) 收藏 举报
分类:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.JSONUtils;


public class JsonParser {


/**
* json字符串 转成 map

* @param jsonStr
* @return
* @throws Exception
*/

public static HashMap<String, JsonValue> parse(String jsonStr) {
if (jsonStr == null || "".equals(jsonStr)) { return null; }
HashMap<String, JsonValue> retMap = null;
try {
retMap = new HashMap<String, JsonValue>();
JSONObject json = JSONObject.fromObject(jsonStr);
Map<String, Object> tmpMap = (Map<String, Object>) JSONObject
.toBean(json, Map.class);
for (Map.Entry<String, Object> entry : tmpMap.entrySet()) {
JsonValue tmp = parseRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return retMap;
}


/**
* json字符串 转成 List

* @param jsonStr
* @return
* @throws Exception
*/

public static List<HashMap<String, JsonValue>> parseList(String jsonStr) {
if (jsonStr == null || "".equals(jsonStr)) { return null; }


List<HashMap<String, JsonValue>> retList = new ArrayList<HashMap<String, JsonValue>>();


JSONArray data = JSONArray.fromObject(jsonStr);
for (int i = 0; i < data.size(); i++) {
HashMap<String, JsonValue> retMap = new HashMap<String, JsonValue>();


JSONObject json = (JSONObject) data.get(i);
Map<String, Object> tmpMap = (Map<String, Object>) JSONObject
.toBean(json, Map.class);


for (Map.Entry<String, Object> entry : tmpMap.entrySet()) {
JsonValue tmp = parseRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
retList.add(retMap);
}
return retList;
}


/**
* HashMap<String, JsonValue> map 转成 json字符串

* @param jsonStr
* @return
* @throws Exception
*/

public static String parse(HashMap<String, JsonValue> map) {
HashMap<String, Object> retMap = new HashMap<String, Object>();
for (Map.Entry<String, JsonValue> entry : map.entrySet()) {
Object tmp = parseJsonValueRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
JsonConfig jc = new JsonConfig();
return JSONObject.fromObject(retMap, jc).toString();
}


/**
* List<HashMap<String, JsonValue>> list 转成 json字符串

* @param jsonStr
* @return
* @throws Exception
*/

public static String parse(List<HashMap<String, JsonValue>> list) {
List<HashMap<String, Object>> tmpList = new ArrayList<HashMap<String, Object>>();


for (HashMap<String, JsonValue> map : list) {
HashMap<String, Object> retMap = new HashMap<String, Object>();
for (Map.Entry<String, JsonValue> entry : map.entrySet()) {
Object tmp = parseJsonValueRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
tmpList.add(retMap);
}
JSONArray json = new JSONArray();
json.addAll(tmpList);
return json.toString();
}


/**
* 构建json

* @param map
* @return
*/

public static String parse(Map map) {
JsonConfig jc = new JsonConfig();
return JSONObject.fromObject(map, jc).toString();
}

      对了,json的版本我用的是json-lib-2.4-jdk15.jar
1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

HashMap转换成json实例

@1创建的Account类: public class Account implements Serializable{ /** * userId:用户id * userName:用户名...
  • Cheney1993
  • Cheney1993
  • 2017-05-28 12:31
  • 2364

把hashMap转换成json

package liulixin; import java.util.HashMap; import org.json.JSONException; import org.json.JSONObj...
  • weiyanghuadi
  • weiyanghuadi
  • 2013-07-07 18:17
  • 2278

HashMap转换成Json格式

http://tongjianhang-sina-cn.iteye.com/blog/1254096
  • pk_20120716
  • pk_20120716
  • 2014-11-13 15:25
  • 1914

JSON工具类包含对象转hashmap

  • 2017-08-30 00:05
  • 2KB
  • 下载

将JsonObject转换成HashMap

1.工具类: Utils.class: public class Utils { public static String getRaw(Context context, int RawId) ...
  • iplayvs2008
  • iplayvs2008
  • 2013-11-16 00:02
  • 30419

Java ObjectMapper String转HashMap

Just to remindHashMap rDefHashMap = om.readValue(rDefStr, new TypeReference<HashMap>() {});
  • nisxiya
  • nisxiya
  • 2016-01-19 14:39
  • 1447

Java点滴:Map与String的转换公共方法

一个简单的Map与String的转换方法,比较实用的一段java代码 1)将Map转成形如username'chenziwen^password'1234的字符串 /** * ...
  • ziwen00
  • ziwen00
  • 2012-09-13 18:21
  • 71405

List<HashMap<String, String>>详细讲解

List<HashMap>详细讲解
  • qq_26676207
  • qq_26676207
  • 2016-03-03 13:46
  • 8111

安卓工具类jsonString转hashmap

近来用到一个工具类,网上找了一下没找到合适的,就改了一下。 import java.util.ArrayList; import java.util.HashMap; import org.j...
  • enjoyGai
  • enjoyGai
  • 2016-12-19 15:56
  • 747

使用HashMap打印字符串

HashMap hashMap=new HashMap hashMap.put("name", "tom");//hashMap添加字符串 hashMap.put("height", "177")...
  • jyh210323
  • jyh210323
  • 2017-04-16 06:25
  • 226
    个人资料
    • 访问:558250次
    • 积分:5408
    • 等级:
    • 排名:第5811名
    • 原创:102篇
    • 转载:33篇
    • 译文:0篇
    • 评论:352条
    个人简介
    我只是一个简单的Coder,为了兴趣和理想奋斗在生活的道路上
    希望大家多多交流,共同进步,有疑问或想法请留言或者私信,也可以加群:157797573

    博客专栏
    最新评论
    你还在一个人孤独的奋斗吗?
    其实,你并不寂寞,欢迎加入CSDN Java群,这里是你的另一个家!    点击加入:CSDN Java群