JAVA-关于JSON解析

1 篇文章 0 订阅

1.使用GSON包解析JSON

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

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

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

		Gson g = new Gson();
		//一个实体类Book,包含有参构造方法与无参构造方法,三个属性分别为:id,name,info
		Book book = new Book("1233", "gold apple", "金苹果的故事");
		String s = g.toJson(book);
		System.out.println(s);

1.2 将JSON字符串转换为对象

		Gson g = new Gson();
        Book book = g.fromJson("{\"id\":\"1233\",\"name\":\"gold apple\",\"info\":\"金苹果	   \"}", Book.class);
        String s = g.toJson(book);
        //需要重写toString方法
        System.out.println(book);

1.3 将JSON转换为集合形式

		Gson g = new Gson();
        //{"id":"1233","name":"gold apple","info":"its to hard to make","page":["MON","TUS","WEN"]}
        HashMap h = g.fromJson("{\"id\":\"1233\",\"name\":\"gold apple\",\"info\":\"金苹果\",\"page\":[\"MON\",\"TUS\",\"WEN\"]}", HashMap.class);
        List list = (List) h.get("page");
        System.out.println(list.get(1));
        System.out.println(h.get("page").getClass());

2. 使用阿里的fastjson进行JSON相关操作

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

		Book book = new Book("1234", "zh", "zizhuan");
        String s = JSON.toJSONString(book);
        System.out.println(s);

2.2 将JSON字符串转换为对象

		Book book = JSON.parseObject("{\"id\":\"1233\",\"name\":\"gold apple\",\"info\":\"its to hard to make\",\"page\":[\"MON\",\"TUS\",\"WEN\"]}", Book.class);
		//有与book没有page属性,则打印book也不会出现。
        System.out.println(book);

        //["123","456","789"]
        List<String> list = JSON.parseArray("[\"123\",\"456\",\"789\"]", String.class);
        System.out.println(list);

2.3 将JSON转换为集合形式

	   	List<String> list = JSON.parseArray("[\"123\",\"456\",\"789\"]", String.class);
        System.out.println(list);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值