JSON&&FASTJSON

JSON简介

从百科上面拿了一段话:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

总结:json是一种轻量级数据交换格式,易于机器解析和生成,并有效地提升网络传输效率。

JSON用途

JSON主要用于数据的交互,尤其在web服务中,随着Restful设计风格被越来越多的企业采用,JSON在前后端数据交互中也越发被喜爱。

JSON 格式

JSON以key/value格式保存数据,JSON值有一下几种:

  1. 数字(整型和浮点型):{"age":20,"weight":55.2}
  2. 字符串:{"name":"barry","addr":"China"}
  3. 数组(整型数组和对象数据):{"ages":[20,21], "persons":[{"age":20, "name":"barry"},{"age":21, "name":"harry"}]}
  4. 对象:{"barry":{"age":20, "name":"barry"}}
  5. boolean: {"isMale":true}

JSON储存的格式上面的几个例子差不多覆盖到了,如果有需要其他格式的可以自由组合,只要符合JSON格式要求就行,这也是JOSN受欢迎的原因之一吧,比较这么方便强大。

JSON 后端解析

阿里开源了一款强大JSON工具–FASTJSON,有兴趣的可以去看看源代码: https://github.com/alibaba/fastjson

  1. 引包:

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.57</version>
    </dependency>
    
  2. 数据格式转换:FASTJSON提供了很多有用的方法转换数据格式,可以方便的将对象封装和解析以及传输

    • 对象:
    public class Person{
         private int age;
         private String name;
         // 省略setter,getter
     }
     
     // 对象转json字符串
     String personStr = JSON.toJSONString(person);
     // json字符串转对象
     Person person = JSON.parseObject(personStr, Person.class);
    
    1. 集合:
    // 定义集合map
    Map<String, Person> cacheDataMap = new HashMap<>();
    // map转为json字符串
    String cacheDataStr = JSONObject.toJSONString(cacheDataMap)// json字符串转map
    Map<String, Person> cacheDataMap = JSONObject.parseObject(cacheDataStr, new TypeReference<Map<String, Person>>(){});
    
发布了74 篇原创文章 · 获赞 23 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qxhly/article/details/89515959
今日推荐