目前使用的(org.json/net.sf.json/com.google.gson/com.alibaba.fastjson)这四种json-map互转,其他的以后在补充。。。。。。。。。。。。。。

导入的jar有:

commons-beanutils-1.6.1.jar

commons-lang-2.1.jar

ezmorph-1.0.3.jar

jackson-all-1.8.5.jar

gson-2.2.4.jar

json-lib-2.2.2-jdk15.jar

json.jar

fastjson-1.1.32.jar

/**
*
*/
package map2json; import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry; import net.sf.json.JSONArray; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson; /**
* @author hy
* @date 2019-02-25 15:45:35
*
*/
public class map2json { public static void main(String[] args) {
map2jsonstr1();
map2jsonstr2();
map2jsonstr3();
map2jsonstr4();
} // net.sf.json包
public static void map2jsonstr1() {
Map<String, Object> map = new LinkedHashMap<String, Object>();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
map.put("4", "d");
map.put("5", "e");
map.put("6", new String[] { "aa", "bb" });
// 多个不同包的同名类,需要指明指哪个包里的
net.sf.json.JSONObject jo = net.sf.json.JSONObject.fromObject(map);
System.out.println(jo.toString());
// 数组
JSONArray json = JSONArray.fromObject(map);
System.out.println(json.toString());
// 将json数据再转回map
net.sf.json.JSONObject myJson = net.sf.json.JSONObject.fromObject(map);
@SuppressWarnings("unchecked")
Map<Object, Object> m = myJson;
for (Entry<Object, Object> entry : m.entrySet()) {
System.out.println(entry.getKey().toString() + ":"
+ entry.getValue().toString());
}
} // org.json包
public static void map2jsonstr2() {
Map<String, String> map = new LinkedHashMap<String, String>();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
map.put("4", "d");
map.put("5", "e");
// org.json
org.json.JSONObject js = new org.json.JSONObject(map);
System.out.println(js.toString());
Map<Object, Object> ma = new HashMap<>();
@SuppressWarnings("rawtypes")
Iterator it = js.keys();
while (it.hasNext()) {
String key = (String) it.next();
// 得到value的值
Object value = js.get(key);
// System.out.println(key+":"+valStr);
ma.put(key, value.toString()); }
for (Entry<Object, Object> mp : ma.entrySet()) {
System.out.println(mp.getKey() + ":" + mp.getValue());
}
} // com.google.gson包
public static void map2jsonstr3() { Map<String, String> map = new LinkedHashMap<String, String>();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
map.put("4", "d");
map.put("5", "e"); Gson gson = new Gson();
String jsonStr = gson.toJson(map);
System.out.println(jsonStr); Map<Object, Object> ma = new HashMap<>();
ma = gson.fromJson(jsonStr, Map.class); for (Entry<Object, Object> mp : ma.entrySet()) {
System.out.println(mp.getKey() + ":" + mp.getValue());
} } // com.alibaba.fastjson包
public static void map2jsonstr4() { Map<String, String> map = new LinkedHashMap<String, String>();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
map.put("4", "d");
map.put("5", "e");
// map转json
com.alibaba.fastjson.JSONObject jsonObject = (JSONObject) com.alibaba.fastjson.JSONObject
.toJSON(map);
String alijson = jsonObject.toJSONString();
System.out.println(alijson);
// json转map
/*
* Map<String, String> maps = (Map<String, String>) JSON.parse(alijson);
* for (Entry<String, String> alima :maps.entrySet()) {
* System.out.println(alima.getKey()+":"+alima.getValue()); }
*/
Map alimap = JSON.parseObject(alijson, Map.class);
for (Object obj : alimap.keySet()) {
System.out.println(obj + ":" + alimap.get(obj));
}
} }

  

Json和Map互转,四个包(org.json/net.sf.json/com.google.gson/com.alibaba.fastjson)的更多相关文章

  1. JavaScript Json与Map互转以及Map对象的取值方式

    Json格式(Json字符串) : var json='{"name": "lily","age":"15"}' Map ...

  2. 转:JSON与Map互转

    JSON字符串与Map互转   //一.map转为json字符串 public static String map2jsonstr(Map<String,?> map){ return J ...

  3. json、map互转

    首先,json转map 方法一: Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); 或 Gs ...

  4. 关于maven包的引入net.sf.json的问题

    最开始通过在pom.xml文件中加入 <dependency> <groupId>net.sf.json-lib</groupId> <artifactId& ...

  5. 不同Json工具对空串和NULL的序列号处理:net.sf.json 和 fastjson

    目录 1.测试代码 2.测试结果: 3.总结: 4.注:Maven中引入net.sf.json的方式 net.sf.json 和 fastjson 对于空串和NULL的处理: 1.测试代码 packa ...

  6. [转] golang中struct、json、map互相转化

    一.Json和struct互换 (1)Json转struct例子: type People struct { Name string `json:"name_title"` Age ...

  7. java json与map互相转换(二)

      java json与map互相转换(二) CreationTime--2018年7月16日15点09分 Author:Marydon 1.准备工作 所需jar包: commons-beanutil ...

  8. net.sf.json与fastjson两种jar包的使用

    首先说清楚:这两种方式是进行json解析的两种不同的方式而已,哪一种都可以. 一.引入net.sf.json包 首先用net.sf.json包,当然你要导入很多包来支持commons-beanutil ...

  9. json对象字符串互转

    json对象字符串互转 1.Node.js中 JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json ...

随机推荐

  1. Android开发环境搭建(2015年8月更新)

    1.  下载和安装Android SDK Android的官方站点是http://www.android.com: 登录https://developer.android.com/intl/zh-cn ...

  2. iOS开发自定义流水布局

    //集成UICollectionViewFlowLayout 自己写的布局 //  SJBFlowLayout.m //  自定义流水布局 // //  Created by zyyt on 16/7 ...

  3. 安徽省2016“京胜杯”程序设计大赛_E_转啊转

    转啊转 Time Limit: 1000 MS Memory Limit: 65536 KB Total Submissions: 59 Accepted: 15 Description     在二 ...

  4. HTML基本格式和文本元素(标签)介绍

    <!doctype html>//声明文档类型 <html lang="zh-cn">//文档开始,后面是声明是中文页面的意思,en是英语的意思 <h ...

  5. scala中的一些特殊符号的意义

    1.作为“通配符”,类似Java中的*.如import scala.math._ 2.:_*作为一个整体,告诉编译器你希望将某个参数当作参数序列处理!例如val s = sum(1 to 5:_*)就 ...

  6. kubernetes实战(八):k8s集群安全机制RBAC

    1.基本概念 RBAC(Role-Based Access Control,基于角色的访问控制)在k8s v1.5中引入,在v1.6版本时升级为Beta版本,并成为kubeadm安装方式下的默认选项, ...

  7. (转)ELK Stack 中文指南--性能优化

    https://www.bookstack.cn/read/ELKstack-guide-cn/elasticsearch-README.md https://blog.csdn.net/cjfeii ...

  8. Bargaining Table

    Bargaining Table time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  9. 【BZOJ 4568】 4568: [Scoi2016]幸运数字 (线性基+树链剖分+线段树)

    4568: [Scoi2016]幸运数字 Description A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个 幸运数字,以纪念碑的形 ...

  10. DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)

    css中cursor属性详解-鼠标移到图片变换鼠标形状   语法: cursor : auto | all-scroll | col-resize| crosshair | default | han ...