32-Java中json字符串、json对象、map之间的互相转换
json字符串、json对象和map之间的区别
json对象和json字符串的区别 https://www.cnblogs.com/agansj/p/9053547.html(备注:这个博客比较好,可以简单看一下,支持原创)
json字符串:javascript中的字符串是单引号或者双引号引起来的
String jsonString = "[{\"name\":\"张三\",\"age\":23},{\"name\":\"李四\",\"age\":24}]";
json对象:json对象是一个对象
JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "张三"); jsonObject.put("age", 23); System.out.println(jsonObject); // {"age":23,"name":"张三"} System.out.println(jsonObject.get("name") + "\t" + jsonObject.get("age")); // 张三 23
map:map是一种双列集合,一个元素包含两个值,一个是Key,一个是Value
Map<String,String> map = new HashMap<>(); map.put("name", "张三"); map.put("age", "23"); System.out.println(map); // {name=张三, age=23} System.out.println(map.get("name") + "\t" + map.get("age")); // 张三 23
Java中json字符串、json对象、map之间的互相转换
1. map 转 String、jsonObject对象
package map; import java.util.HashMap; import java.util.Objects; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class MapDemo3 { public static void main(String[] args){ HashMap<String, Object> map = new HashMap<>(); map.put("name", "马铃薯"); map.put("age", 28); System.out.println(map); // 1.map转string System.out.println("\n======================map转string对象======================"); String jsonString = JSON.toJSONString(map); System.out.println(jsonString); // 2.map转jsonObject System.out.println("\n======================map转jsonObject对象======================"); JSONObject jsonObj = JSONObject.parseObject(JSON.toJSONString(map)); System.out.println(jsonObj); // public Object get(Object key):根据指定的键,获取对应的值 System.out.println(jsonObj.get("name") + "\t" + jsonObj.get("age")); } }
2. String 转 map、jsonObject对象
package map; import com.alibaba.fastjson.JSONObject; import java.util.HashMap; public class MapDemo4 { public static void main(String[] args){ String jsonString = "{\"name\":\"马铃薯\",\"age\":\"28\"}"; System.out.println(jsonString); // 3.String转jsonObject对象 System.out.println("\n======================String转jsonObject对象======================"); JSONObject parseObject = JSONObject.parseObject(jsonString); System.out.println(parseObject); // 4.String转map对象 System.out.println("\n======================String转map对象======================"); HashMap<String, String> map = JSONObject.parseObject(jsonString, HashMap.class); map.put("department", "研发部"); System.out.println(map); } }
3. jsonObject转 map、String 对象
package map; import com.alibaba.fastjson.JSONObject; import java.util.HashMap; public class MapDemo5 { public static void main(String[] args){ String jsonString = "{\"name\":\"马铃薯\",\"age\":\"28\"}"; JSONObject jsonObject = JSONObject.parseObject(jsonString); System.out.println(jsonObject); // 3.jsonObject转String对象 System.out.println("\n======================jsonObject转String对象======================"); String jsonString2 = jsonObject.toJSONString(); System.out.println(jsonString2); // 4.jsonObject转map对象 System.out.println("\n======================jsonObject转map对象======================"); HashMap<String, String> map = JSONObject.parseObject(jsonObject.toJSONString(), HashMap.class); map.put("department", "研发部"); System.out.println(map); } }
5. 数组对象的json格式转list集合
package map; import com.alibaba.fastjson.JSON; import java.util.List; public class MapDemo6 { public static void main(String[] args){ // 5.数组对象的json格式转list集合 System.out.println("======================数组对象的json格式转list======================"); String jsonString = "[{\"name\":\"张三\",\"age\":23},{\"name\":\"李四\",\"age\":24}]"; System.out.println(jsonString); // JSON.parseArray(String text, Class<T> clazz):把JSON文本parse成JavaBean集合 List<Person> list = JSON.parseArray(jsonString, Person.class); for(Person p : list){ System.out.println(p.getName() + "\t" + p.getAge()); } } } class Person{ private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
Fastjson简介
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。
Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景
Fastjson包的引入方式
1)maven 引入
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.51</version> </dependency>
2)本地 jar包引入
下载网址:Maven Repository: com.alibaba » fastjson (mvnrepository.com)
更详细的fastjson的详细API参考了这篇文章:阿里巴巴fastjson下载_com.alibaba.fastjson 下载-CSDN博客
选择版本
进入对应版本的github官网
选择标准版的jar包进行下载
在IDEA中导入刚刚下载的jar包
1)在项目路径,创建lib目录,将jar包复制进去
2)在 File 下找到 Project Structure
3)在左侧Modules选项中,进行添加操作(选择JARs or Directories),将刚刚的jar包添加进去
4)显示以下状态,则代表jar包添加成功
Fastjson包的导入
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix