-
2021-11-04 22:17:25
一个注意的地方:要选对jar包
Map map = new HashMap(); map.put("success", "true"); map.put("photoList", photoList); map.put("currentUser", "zhang"); //net.sf.json.JSONObject 将Map转换为JSON方法 JSONObject json = JSONObject.fromObject(map); //org.json.JSONObject 将Map转换为JSON方法 JSONObject json =new JSONObject(map);
更多相关内容 -
Java中快速把map转成json格式的方法
2020-10-23 23:10:26主要介绍了Java中快速把map转成json格式的方法,本文使用json-lib.jar中的JSONSerializer.toJSON方法实现快速把map转换成json,需要的朋友可以参考下 -
json2Map:多层json转换为Map再转换为单层json
2021-05-13 22:33:42多层嵌套json转换为Map再转换为单层 最近在实习的时候,需要将多层嵌套的json转换为单层的json。并且把json进行格式化。于是参照网上的网上的方法使用谷歌的gson利用递归的实现了多层json转换为单层的json。如 {... -
map转换成JSON
2021-04-22 09:21:08方式一:json-lib <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>...方式一: json-lib
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency>
import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; public class test{ public static void main(String[] args) { Map map = new HashMap(); map.put("test", "test1"); JSONObject jsonObject = JSONObject.fromObject(map); System.out.println("输出的结果是:" + jsonObject); //3、将json对象转化为json字符串 String result = jsonObject.toString(); System.out.println(result); } }
json-lib是一个比较老的解决方案,近几年都没有升级过,它的适用环境是JDK1.5,使用JDK1.6就有可能会报错。所以配置上加入classifier-jdk15来解决这个问题。
方式二:alibaba
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.41</version> </dependency>
public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map.put("test", "test1"); map.put("target", "from"); String jsonString = JSONObject.toJSONString(map); System.out.println(jsonString); Map<String, String> map2 = JSONObject.parseObject(jsonString, Map.class); System.out.println(map2.get("test")); }
方式三:google--Gson
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.3.1</version> </dependency>
public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map.put("test", "test1"); map.put("target", "from"); Gson gson = new Gson(); String gsonStr = gson.toJson(map); System.out.println(gsonStr); Map map3 = gson.fromJson(gsonStr, Map.class); System.out.println(map3.get("target")); }
-
Golang的 Json string和Map互相转换
2021-01-07 23:20:31在存储的时候想把数据列表存储成json string,但是在代码使用的时候又觉得用map更快更方便。这个时候就需要相互转换,下面是一个转换的例子。 // Test for json and map converting package main import ( ... -
利用gson将map转为json示例
2020-10-25 23:49:54主要介绍了利用gson将map转为json示例,需要的朋友可以参考下 -
list map转换成json格式例子以及相关jar包(java)
2016-10-08 19:15:04list map转换json格式数据以及相关的jar包 list转换后格式: [{"address":"广东省惠州","name":"tom","id":1,"age":23},{"address":"广东省深圳市","name":"jone","id":2,"age":84}] map转换后格式: {"address":... -
json 转换为map
2019-04-03 01:11:40NULL 博文链接:https://576017120.iteye.com/blog/1463849 -
JAVA-map转换json异常
2018-11-27 17:38:50背景介绍下:后台传过去json数据是用阿里的fastjson转换的,调用的是这个方法 String s = JSON.toJSONStringWithDateFormat(o,dateformat,SerializerFeature.WriteDateUseDateFormat); ServletActionContext....问题描述:
今天在做后台传数据到前端解析的时候遇到了这个问题。背景介绍下:后台传过去json数据是用阿里的fastjson转换的,调用的是这个方法String s = JSON.toJSONStringWithDateFormat(o,dateformat,SerializerFeature.WriteDateUseDateFormat); ServletActionContext.getResponse().getWriter().write(s);
其中dataformat是格式化时间数据的。传过去的是一个PageBean对象,该对象继承了Page对象,Page里面包含list,pageNo,pageSize。前台在通过data.list准备取出list循环做点事情的时候,发现全是undefined,通过console.log(data.list),发现这个数据竟然是这个东西 r e f : " ref: " ref:".list[0]"。百度搜了下,这里就是循环引用造成的。
问题分析:循环引用:当一个对象包含另一个对象时,fastjson就会把该对象解析成引用。引用是通过$ref标示的,下面介绍一些引用的描述 "$ref":".." 上一级 "$ref":"@" 当前对象,也就是自引用 "$ref":"$" 根对象 "$ref":"$.children.0" 基于路径的引用,相当于 root.getChildren().get(0)
解决方案:
fastjson提供了多种json转换方案,有兴趣的同学可以自己看看源码,这里我们可以采用禁止循环引用的方案:String s = JSON.toJSONStringWithDateFormat(0,"yyyy-MM-dd HH:mm:ss",SerializerFeature.DisableCircularReferenceDetect);
其中:SerializerFeature.DisableCircularReferenceDetect就是禁止循环引用的方案,我们可以通过枚举类SerializerFeature来查看到底有多少种方式:
public enum SerializerFeature { QuoteFieldNames, UseSingleQuotes, WriteMapNullValue, WriteEnumUsingToString, UseISO8601DateFormat, /** * @since 1.1 */ WriteNullListAsEmpty, /** * @since 1.1 */ WriteNullStringAsEmpty, /** * @since 1.1 */ WriteNullNumberAsZero, /** * @since 1.1 */ WriteNullBooleanAsFalse, /** * @since 1.1 */ SkipTransientField, /** * @since 1.1 */ SortField, /** * @since 1.1.1 */ @Deprecated WriteTabAsSpecial, /** * @since 1.1.2 */ PrettyFormat, /** * @since 1.1.2 */ WriteClassName, /** * @since 1.1.6 */ DisableCircularReferenceDetect, /** * @since 1.1.9 */ WriteSlashAsSpecial, /** * @since 1.1.10 */ BrowserCompatible, /** * @since 1.1.14 */ WriteDateUseDateFormat, /** * @since 1.1.15 */ NotWriteRootClassName, /** * @since 1.1.19 */ DisableCheckSpecialChar, /** * @since 1.1.35 */ BeanToArray ; private SerializerFeature(){ mask = (1 << ordinal()); } private final int mask; public final int getMask() { return mask; } public static boolean isEnabled(int features, SerializerFeature feature) { return (features & feature.getMask()) != 0; } public static int config(int features, SerializerFeature feature, boolean state) { if (state) { features |= feature.getMask(); } else { features &= ~feature.getMask(); } return features; } }
转自:https://blog.csdn.net/u013185616/article/details/52799166
-
java将map转换为json字符串存取数据库
2019-03-20 17:17:03/*将map转换为json字符串并且存入数据库的字段中*/ @RequestMapping("add") public String addProject(){ Map,Integer> map=new HashMap,Integer>(); map.put("第1个问题:",18); map.put("第2个问题:",12); ...今天真是 非常头大的一天,不过没关系,加油!!!!
先看看存入的格式
例如: {"第1个问题:":18,"第3个问题:":132,"第2个问题:":12,"第4个问题:":123,"第5个问题:":138,"第6个问题:":65}
{"goods_id":140861765,"cat_id":210,"goods_sn":171073501,"goods_sn_back":171073501,"goods_upc":11,"goods_name":45}
好了 ,进入正文
1.要有个数据库,并且有一张表(我的表是property,里面有两个字段id自增,name 类型是 text) mysql数据库,我用的大三层,在这里就不写service了,为了简单的测试
2.添加主要的依赖
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <!--主要的--> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl --> <!--主要的--> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency>
3.创建实体类
package com.example.entity; /*project实体类*/ public class Project { private Integer id; private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
4.创建mapper接口
package com.example.mapper; import org.apache.ibatis.annotations.Mapper; @Mapper public interface ProjectMapper { //增加json串 public Integer addproject(String name); //获取json字符串 public String getname(); }
5.对mapper接口的sql编写
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.mapper.ProjectMapper"> <insert id="addproject" parameterType="String"> INSERT INTO school.project ( NAME ) VALUES ( #{name} ); </insert> <!--我数据库里六条数据,我固定接受 第六条做测试--> <select id="getname" resultType="string"> SELECT NAME FROM school.project WHERE id=6 </select> </mapper>
6.controller控制层
package com.example.controller; import com.example.mapper.ProjectMapper; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import java.io.IOException; import java.util.HashMap; import java.util.Map; @Controller public class ProjectController { @Autowired private ProjectMapper projectMapper; /*将map转换为json字符串并且存入数据库的字段中*/ @RequestMapping("add") public String addProject(){ Map<String,Integer> map=new HashMap<String,Integer>(); map.put("第1个问题:",18); map.put("第2个问题:",12); map.put("第3个问题:",132); map.put("第4个问题:",123); map.put("第5个问题:",138); map.put("第6个问题:",65); ObjectMapper json = new ObjectMapper(); String names=null; try { names = json.writeValueAsString(map); System.out.println("++++++++++++++++++转成的json格式字符串:"+names); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } /*将json加入数据库中*/ projectMapper.addproject(names); return ""; } /*获取json字符串并转换为map */ @RequestMapping("get") public String getProject(){ //查询出json字符串 String name=projectMapper.getname(); Map<String, Integer> res = null; try { Gson gson = new Gson(); /*将json格式的字符串,转换为map*/ res = gson.fromJson(name, new TypeToken<Map<String, Integer>>() { }.getType()); } catch (JsonSyntaxException e) { } System.out.println(res); /*这里不需要进入页面,只是做测试*/ return ""; } }
-
Golang map转换为json
2020-09-19 20:31:09m :=map[string]string{"type":"10","msg":"hello."} mjson,_ :=json.Marshal(m) mString :=string(mjson) fmt.Printf("print mString:%s",mString) 在Api接口项目调用 res,err := DB().Query("select count(id) as... -
使用GSON库将Java中的map键值对应结构对象转换为JSON
2020-10-22 01:43:52GSON是由Google开发并开源的实现Java对象与JSON之间相互转换功能的类库,这里我们来看一下使用GSON库将Java中的map键值对应结构对象转换为JSON的示例: -
fastjson缺陷--map转换json时出现$ref的情况
2017-01-09 13:38:24fastjson把map等对象转换为json时出现$ref的情况 "颜色": [ { "$ref": "$.itemSkuList[0].itemSpecificationList[0]" }, { "$ref": "$.itemSkuList[1].itemSpecificationList[0] -
map转换成JSON的方法
2018-08-29 19:25:15第一种alibaba falstjson: ...1.Map转JSON Map<String, Object> map = new HashMap<String, Object>(); map.put("a", "a"); map.put("b", "123"); JSONObject json = new JSONO... -
Scala Json 和 map/ bean对象的转换
2021-01-07 15:27:11需求:需要将一个格式是[String,MonthValue]的map转换为json,这里YearValue是自定义的case class。 MonthValue长这样,这里需要加上@BeanProperty注解,否则 fastjson解析不到。 case class MonthValue(@Bean... -
map转换成JSON的3种方法
2021-03-04 03:40:021json-libnet.sf.json-libjson-lib2.4jdk15import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;public class aaa {public static void main(String[] args) {Map map = new HashMap();m.... -
对象转换成JSON和Map
2014-08-27 21:09:17简单的对象转换成json对象,和把对象转换成map的技巧 -
go语言结构体转换map、map转换结构体、json字符串转结构体、结构体数据转换到别的结构体
2021-01-07 19:39:03JSON包的妙用,一个函数完成几种数据结构转换方案 1.结构体转map 2.map转结构体 3.结构体数据转移到结构体 4.json字符串转结构体 package main import ( encoding/json fmt reflect ) type User struct { Name ... -
Map转成JSON字符串,对象转成JSON字符串,JSON.toJSONString()全解决
2022-01-11 10:37:13想到两种方式,一是新建实体类,然后转化为JSON,小编比较懒,直接Map多香呀!我们直接只有阿里巴巴的fastjson来进行转化即可,很方便! 二、理想转化展示 {"gender":"男","name":"小明","age":"18"} // 为空显示 {}... -
将JSON字符串转换成Map对象的方法
2020-11-29 18:51:25页面向后台action传递一个json字符串,需要将json字符串转换成Map对象 public Map<String> toMap(Object object) { Map<String> data = new HashMap(); // 将json字符串转换成jsonObject JSONObject jsonObject... -
json工具类,json转对象转map对象转json
2018-11-30 09:47:57json工具类,json转为对象,json转map。对象转json。便于使用 -
map 与 json 格式之间转换
2017-08-06 17:00:59前端接收到请求数据后保存为MAP格式。传给后台时采用JSON格式。分别写了二种方法进行比较处理。 - 方法一: String strRecvPage = "{"; Set<String> keySet = paramMap.keySet(); for(Iterator<String> it =keySet... -
js中map和json互转
2019-10-12 18:29:40//对象转map const objChangeMap = (obj) => { let map = new Map(); for(let key in obj) { map.set(key,obj[key]); } ...//map转为json const mapChangeObj = (map) => { let o... -
kotlin map和Json转换,Json解析
2021-12-10 13:11:44kotlin json入参,json解析 -
jquery Map转JSON
2019-12-10 10:19:47/** * Map转json */ function MapTOJson(map) { var str = '{'; var i = 1; for (var key in map) { ... -
map转json字符串
2019-06-27 17:49:15Map<String, Object> params = new HashMap<>(); params.put("a","11111"); params.put("b","2222"); System.out.println(params);//{"a":"11111","b":"22222"} String json = JSON.toJSONString(pa... -
将JSON格式的字符串转换成MAP
2015-07-04 13:29:36JOSN格式内层都可以转换成map 详细见附件