Json简介及fastJson使用

来源:互联网 发布:汉诺塔算法 编辑:程序博客网 时间:2024/06/06 03:43

Json简介及fastJson使用

1、Json是用来干什么的?

Json(Javascript Object Notation)即Javascript对象的表示法。
程序运行过程会不断进行数据交换,Json相当于一种数据格式,可以在不同语言之间传输,并且其占用空间小,提高网络传输效率。而且这种数据格式非常方便,可以表示各种传输的数据类型。对象、数组、基本数据类型。这种数据格式解析非常简单,因此得到广泛使用。其主要特点有:跨语言、易解析、封装的数据包小。

2、Json长什么样?
Json数据格式是以键值的方式表示。
其语法规则为:
1、数据在名称/值对中
2、数据由逗号分隔
3、花括号保存对象
4、方括号保存数组
利用Json表示对象和数组:
{"name":"xiaohua","age":25,"marry":true}
{"persons":[
{"name":"xiaoming","age":20,"marry":false},
{"name":"xiaohong","age":22,"marry":false},
{"name":"xiaoli","age":25,"marry":true}

]}
3、fastJson使用方法

Java Json常用类库工具:fastjson、gjson、jackjson。这三个都是比较常用的json类库,下面以fastJson为例说明使用方法:

import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Set;import java.util.UUID;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;public class JsonUtils {// 对象转换为Jsonpublic static String objectToJson(Book  book) {return JSON.toJSONString(book);}// Json转换为对象public static Book jsonToObject(String json) {return JSON.parseObject(json, Book.class);}// List转Jsonpublic static String listToJson(List<Book> list) {return JSON.toJSONString(list);}// Json转Listpublic static List<Book> jsonToList(String json) {return JSON.parseArray(json, Book.class);}// Map转Jsonpublic static String mapToJson(Map<String, Object> map) {return JSON.toJSONString(map);}// Json转Mappublic static Map<String, Object> jsonToMap(String json) {return JSON.parseObject(json, Map.class);}// Json数据操作public static String getProperty(String json, String id) {JSONObject jsonObj = JSON.parseObject(json);return jsonObj.getString(id);}public static String deleteProperty(String json, String id) {JSONObject jsonObj = JSON.parseObject(json);Set set = jsonObj.keySet();set.remove(id);return jsonObj.toJSONString();}public static String addProperty(String json, String key, String value) {JSONObject jsonObj = JSON.parseObject(json);jsonObj.put(key, value);return jsonObj.toJSONString();}public static void main(String[] args) {List<Book> list = new ArrayList<>();Book book = new Book();book.setId(UUID.randomUUID().toString());book.setBookName("追风筝的人");book.setPage(1);book.setSale(false);Book book1 = new Book();book1.setId(UUID.randomUUID().toString());book1.setBookName("追风筝的人");book1.setPage(2);book1.setSale(false);list.add(book);list.add(book1);System.out.println(listToJson(list));JSONArray jsonArray = JSON.parseArray(listToJson(list));Book book2 = new Book();book2.setId(UUID.randomUUID().toString());book2.setBookName("追风筝的人");book2.setPage(3);book2.setSale(false);jsonArray.add(book2);System.out.println(jsonArray.toJSONString());List<Book> list1 = jsonToList(listToJson(list));System.out.println(list1.get(0).getBookName());String json =  "{\"0\":\"jack\",\"1\":\"tom\"}";Map<String, Object> map = jsonToMap(json);for (String key : map.keySet()) {System.out.println(key+":"+map.get(key));}System.out.println(mapToJson(map));System.out.println(getProperty(json, "1"));System.out.println(deleteProperty(json, "1"));System.out.println(addProperty(json, "2", "jerry"));}}



原创粉丝点击