Java之JSON解析

Java之JSON解析

JSON简介

JSON:JavaScript Object Notation JS对象简谱,是一种轻量级的数据交换格式

JSON对象格式

{"name":"Claire","age":"18","sex":"female"}

一个大括号表示一个对象
括号中为描述对象的属性,以键值对的方式来描述(即大括号中是一个个的键值对)

格式:
	键与值用冒号连接,一个个键值对用逗号连接
	键和值都使用引号引住
	键值对的值,可以是JS中的任意类型的数据
	JSON中数组格式为:[元素1,元素2...]

案例:
    {
        "name":"伟杰老师",
        "age":18,
        "pengyou":["张三","李四","王二","麻子",{
                    "name":"野马老师",
                    "info":"像匹野马一样狂奔在技术钻研的道路上"
                    }],
        "heihei":{
            "name":"大长刀",
            "length":"40m"
        }
    }

Java解析JSON

将Java中的对象,快速的转换为JSON格式的字符串
将JSON格式的字符串,转换为Java对象

两种方式:
    1)通过Gson
    2)通过FastJSON

Gson

  • 将java对象转换为JSON字符串

    1. 引入JAR包
    2. 在需要转换JSON字符串的位置编写如下代码即可
    	String json = new Gson().toJSON(要转换的对象);
    	
    案例:
    Book b = new Book("100","苹果","种植苹果真辛苦");
    String s = new Gson().toJson(b);
    System.out.println(s);
    
  • 将JSON字符串转换为java对象

    1. 引入JAR包
    2. 在需要转换Java对象的位置,编写如下代码
    	对象 = new Gson().fromJson(JSON字符串,对象类型.class);
    	
    案例:
    HashMap data = new Gson().fromJson("{\"id\":\"100\",\"name\":\"苹果\",\"info\":\"种植苹果真辛苦\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿\"]}",HashMap.class);
    List page = (List) data.get("page");
    System.out.println(page.get(0));
    

FastJSON

  • 将java对象转换为JSON字符串

    1. 引入JAR包
    2. 在需要转换JSON字符串的位置编写如下代码即可:
    	String json = JSON.toJSONString(要转换的对象);
    	
    案例:
    Book book = new Book("1002","唐诗三百首","床前明月光");
    //1. 转换
    String json = JSON.toJSONString(book);
    System.out.println(json);
    
  • 将JSON字符串转换为java对象

    1. 引入JAR包
    2. 在需要转换Java对象的位置,编写如下代码:
    	类型 对象名 = JSON.ParseObject(JSON字符串,类型.class);List<类型> list = JSON.parseArray(JSON字符串,类型.class);
    	
    案例:
    Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光\",\"name\":\"唐诗三百首\"}",Book.class);
    System.out.println(book.getId());List<String> strings = JSON.parseArray("[\"一二三\",\"二三\",\"三\"]", String.class);
    System.out.println(strings.get(1));
    

    内容来源:开课吧Java培训

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值