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));
    }

  运行截图

 

 

posted @   言酒演洛  阅读(405)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示