JSON 数据解析
JOSN
-
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
-
JSON 是轻量级的文本数据交换格式 JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。
-
JSON 解析器和 JSON 库支持许多不同的编程语言。
-
目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。 JSON 具有自我描述性,更易理解
XML和JAVA互转的转义工具
实体对象类
public class Book { private int id; private String name; private String info; public Book() { } public Book(int id, String name, String info) { this.id = id; this.name = name; this.info = info; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } @Override public String toString() { return "Book{" + "id=" + id + ", name='" + name + '\'' + ", info='" + info + '\'' + '}'; } }
GSON-谷歌转义工具
Java对象转JSON数据格式
public static void main(String[] args) { // 对象属性创建 Book book = new Book(001, "考试脑科学", "日本作者"); // 使用谷歌转义器 String s = new Gson().toJson(book); // 打印转义对象 System.out.println(s); }
运行截图
JSON转为Java对象
public static void main(String[] args) { // 所要转义的JSON数据对象 {"id":1,"name":"考试脑科学","info":"日本作者"} String json = "{\"id\":1,\"name\":\"考试脑科学\",\"info\":\"日本作者\"}"; // 谷歌转义器 Book book = new Gson().fromJson("{\"id\":1,\"name\":\"考试脑科学\",\"info\":\"日本作者\"}", Book.class); System.out.println(book); }
运行截图
得到JSON数据中数组的数据
public static void main(String[] args) { // 谷歌转义器 Gson gson = new Gson(); // 获取数据存储在集合中 HashMap book = gson.fromJson("{\"id\":1,\"name\":\"考试脑科学\",\"info\":[\"日本作者\",\"池谷裕二\",\"高宇涵\"]}", HashMap.class); // 得到JSON数据中的数组 List info = (List) book.get("info"); // 打印所要获取的数据信息 System.out.println(info.get(1)); }
运行截图
FastJson
Java对象转JSON数据格式
public static void main(String[] args) { Book book = new Book(001,"考试脑科学","池田裕二"); // 使用阿里转义器 String json = JSON.toJSONString(book); System.out.println(json); } }
运行截图
JSON转为Java对象
public static void main(String[] args) { // JSON转换为对象 HashMap book = JSON.parseObject("{\"id\":1,\"name\":\"考试脑科学\",\"info\":[\"日本作者\",\"池谷裕二\",\"高宇涵\"]}", HashMap.class); System.out.println(book); }
运行截图
得到JSON数据中数组的数据
public static void main(String[] args) { //1. 转换 : ["一二三","二三四","三四五"] List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]", String.class); System.out.println(strings.get(1)); }
运行截图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署