如何把map转成json字符串
1、如图所示新建一个demo作为测试。
2、这里是第一种方法,也是推荐的一个方法,需要引入如图所示的jar包(这里是java项目引入jar)。
3、如图所示是全部的代码,首先创建一个map,使用转换方法进行转换后转成字符串格式输出。
4、点击运行该java文件,即可在输出控制台看到转换成功的字符串。
5、这是第二种方法,需要引入的jar包比较对,如果引入不全,在运行的时候会报不同的错。
6、然后使用的是JSONObject.fromObject() 方法进行转换的,输出结果和上一个方法一致。
如何将map字符串转换成json字符串
把map转成json的步骤:
1、需要一些jar包:json-lib-2.4-jdk15.jar、ezmorph-1.0.6.jar、commons-logging.jar、commons-lang.jar、commons-collections.jar、commons-beanutils.jar。
2、把Map转换成json, 要使用jsonObject对象:
MapString, Object map = new HashMapString, Object();
map.put("userId", 1001);
map.put("userName", "张三");
map.put("userSex", "男");
JSONObject jsonObject = JSONObject.fromObject(map);
System.out.println(jsonObject);
Map转json数据出现顺序乱的问题
#Map转json数据出现顺序乱的问题,如果需要保持顺序,可以使用JSONObject 对象的toString()方法;
public static void main(String[] args) {
MapString, String map = new LinkedHashMapString, String();
map.put("3", "ccccc");
map.put("1", "aaaaa");
map.put("2", "bbbbb");
map.put("4", "ddddd");
System.out.println("默认自动排序");
System.out.println(ResultVOUtil.success(map));
输出结果:
自动排序
{"msg":"成功","code":"0","data":{"1":"aaaaa","2":"bbbbb","3":"ccccc","4":"ddddd"}}
//////////////////////////////////解决方案/////////////////////////////////////////////////////
JSON json = JSONUtil.parse(map);
JSONObject obj = new JSONObject();
obj.put("code", '0');
obj.put("msg", "成功");
obj.put("data", json);
System.out.println("保持原始顺序");
System.out.println(obj.toString());
}
输出结果:
保持原始顺序
{"msg":"成功","code":"0","data":{"3":"ccccc","1":"aaaaa","2":"bbbbb","4":"ddddd"}}
如何把map转成json
把map转成json的步骤:
1、需要一些jar包:json-lib-2.4-jdk15.jar、ezmorph-1.0.6.jar、commons-logging.jar、commons-lang.jar、commons-collections.jar、commons-beanutils.jar。
2、把Map转换成json, 要使用jsonObject对象:
MapString, Object map = new HashMapString, Object();
map.put("userId", 1001);
map.put("userName", "张三");
map.put("userSex", "男");
JSONObject jsonObject = JSONObject.fromObject(map);
System.out.println(jsonObject);
Map类型获取json数组,如何提取值
我们需要先把json字符串转化为net.sf.json.JSONObject对象,java中这样就可以完成json字符串到Map的转换了。
1.将数组转换为JSON:String[] arr = {"asd","dfgd","asd","234"};JSONArray jsonarray = JSONArray.fromObject(arr);System.out.println(jsonarray);
2.对象转换成JSON:UserInfo user = new UserInfo(1001,"张三");JSONArray jsonArray = JSONArray.fromObject(user);System.out.println( jsonArray );
3.把Map转换成json, 要使用jsonObject对象:MapString, Object map = new HashMapString, Object();map.put("userId", 1001);map.put("userName", "张三");map.put("userSex", "男");JSONObject jsonObject = JSONObject.fromObject(map);System.out.println(jsonObject);
4.把List转换成JSON数据:ListUserInfo list = new ArrayListUserInfo();UserInfo user = new UserInfo(1001, "张三");list.add(user);list.add(user);list.add(user);JSONArray jsonArray = JSONArray.fromObject(list);System.out.println(jsonArray);
map与json的转换
使用fastjson实现map与json的互相转换
new Date()是java.util.Date
这个里面是时间处理的参数
JSON.toJSONString(map,
SerializerFeature.DisableCircularReferenceDetect,
SerializerFeature.WriteDateUseDateFormat)
结果
设置JsonObject的默认时间格式
JSONObject.DEFFAULT_DATE_FORMAT="yyyy-MM-dd";
结果