《阿里巴巴FastJson对数据的常用操作(共6页).doc》由会员分享,可在线阅读,更多相关《阿里巴巴FastJson对数据的常用操作(共6页).doc(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上【黑马程序员】阿里巴巴FastJson对数据的常用操作Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。阿里巴巴的开源地址为:maven工程可以在pom文件加入依赖com.alibabafastjson1.2.21fastjson入口类是com.alibaba.fastjson.JSON,主要的API是JSON.toJSO
2、NString,和parseObject。常用的序列化操作都可以在JSON类上的静态方法直接完成。/ 把JSON文本parse为JSONObject或者JSONArray public static final Object parse(String text);/ 把JSON文本parse成JSONObject public static final JSONObject parseObject(String text);/ 把JSON文本parse为JavaBean public static final T parseObject(String text, Class clazz);/
3、把JSON文本parse成JSONArray public static final JSONArray parseArray(String text);/把JSON文本parse成JavaBean集合 public static final List parseArray(String text, Class clazz);/ 将JavaBean序列化为JSON文本 public static final String toJSONString(Object object);/ 将JavaBean序列化为带格式的JSON文本 public static final String toJSON
4、String(Object object, boolean prettyFormat);/将JavaBean转换为JSONObject或者JSONArray。public static final Object toJSON(Object javaObject);/序列化:String jsonString = JSON.toJSONString(obj);/反序列化:VO vo = JSON.parseObject(., VO.class);/泛型反序列化:import com.alibaba.fastjson.TypeReference;List list = JSON.parseObje
5、ct(., new TypeReferenceList() );下面贴出自己代码,相当于是FastJson使用操作的一个集合,基本上满足开发中绝大部分的json解析和拼接了。package heima.itcast.demo;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.TypeReference;import heima.itcast.demo.model.Book;import java.util.*;public class Test
6、public static void main(String args) /String转化为实体类BookStrToObject();/String转化为jsonObjectStrToJsonObject();/实体类转换为json/多个实体类转换为json数组形式的string/String转化为ListStrToListObject();/String转化为数组/String转化为ArrayListStrToArrayList();/map和json互相转换mapTo();/* String转化为实体类Book*/public static void StrToObject() Stri
7、ngBuilder sb = new StringBuilder();sb.append();sb.append(name: 教父三部曲,);sb.append( author: 马里奥普佐,);sb.append( price: 100);sb.append();Book book = JSON.parseObject(sb.toString(), Book.class);System.out.println(书名:+book.getName()+;作者:+book.getAuthor()+;价格:+book.getPrice();/* String转化为jsonObject*/public
8、 static void StrToJsonObject() StringBuilder sb = new StringBuilder();sb.append();sb.append(name: 教父三部曲,);sb.append( author: 马里奥普佐,);sb.append( price: 100);sb.append();JSONObject jsonObj = JSON.parseObject(sb.toString();for(Map.Entry entry : jsonObj.entrySet()System.out.println(entry.getKey()+-+entr
9、y.getValue();/* 实体类转换为json* 多个实体类转换为json数组形式的string* String转化为List*/public static void StrToListObject() List bookList = new ArrayList();Book book1 = new Book(教父三部曲,马里奥普佐,100) ;Book book2 = new Book(天才在左疯子在右,高铭,30) ;bookList.add(book1);bookList.add(book2);/实体类转换为jsonString book1Str = JSON.toJSONStri
10、ng(book1);/多个实体类转换为json数组形式的stringString bookStr = JSON.toJSONString(bookList);/String转化为ListList bookList3 = JSON.parseArray(bookStr,Book.class);/* String转化为数组* String转化为ArrayList*/public static void StrToArrayList()StringBuilder sb = new StringBuilder();sb.append();sb.append(name: 教父三部曲,);sb.appen
11、d( author: 马里奥普佐,);sb.append( price: 100);sb.append();/ String转化为数组Book arrBook = JSON.parseObject(sb.toString(),new TypeReference();List list = Arrays.asList(arrBook);for (int i = 0; i arrBook.length; i+) System.out.println(arrBooki.toString();/ String转化为ArrayListArrayList bookList= JSON.parseObjec
12、t(sb.toString(),new TypeReferenceArrayList();for(Book book : bookList)System.out.println(book.toString();/* map和json互相转换*/public static void mapTo()Map map = new HashMap();map.put(name, 教父三部曲);map.put(author, 马里奥普佐);map.put(price, 100);/map转换为jsonString json = JSON.toJSONString(map);/json转换为mapMap m
13、ap1 = JSON.parseObject(json);System.out.println(map1.toString();Map map2 = (Map)JSON.parse(json);附Book类代码package heima.itcast.demo.model;public class Book private String name;private String author;private int price;public Book() public Book(String name, String author, int price) this.name = name;thi
14、s.author = author;this.price = price;public String getName() return name;public void setName(String name) this.name = name;public String getAuthor() return author;public void setAuthor(String author) this.author = author;public int getPrice() return price;public void setPrice(int price) this.price = price;专心-专注-专业