Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Json应用案例之FastJson

这几天在网上找关于Json的一些案例,无意当中找到了一个我个人感觉比较好的就是阿里巴巴工程师写的FastJson。package com.jerehedu.fastjson;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Vector;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.serializer.SerializerFeature;import com.jerehedu.entity.Userinfo;/** * fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点: * 1.快速FAST(比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java Bean * 2.Class、Collection、Map、Date或enum) 零依赖(没有依赖其它任何类库除了JDK) **/public class TestFastJson {public static void main(String[] args) {String json = "{"name":"chenggang","age":24}";String arrayAyy = "[["马云",50],null,["马化腾",30]]";Entity2json("zhangsan", 24);list2Json();Complexdata();Deserialization(json);DateFormate(new Date());Json2Eetity(json);String2JSONArray(arrayAyy);}// 实体转为Jsonpublic static void Entity2json(String name, int age) {Userinfo info = new Userinfo(name, age);String str_json = JSON.toJSONString(info); //System.out.println("实体转化为Json" + str_json);}运行结果为: 直接将我们的实体转化为了Json格式。// list转Jsonpublic static void list2Json() {List<Userinfo> list = new ArrayList<Userinfo>();Userinfo userinfo1 = new Userinfo("lisi", 15);Userinfo userinfo2 = new Userinfo("wangwu", 16);list.add(userinfo1);list.add(userinfo2);String json = JSON.toJSONString(list, true);System.out.println("List集合转json格式字符串 :" + json);}运行结果为: // 字符数组转化为JSonprivate static void String2JSONArray(String arrayAyy) {JSONArray array = JSONArray.parseArray(arrayAyy);System.out.println("数组:" + array);System.out.println("数组长度: " + array.size());Collection nuCon = new Vector();nuCon.add(null);array.removeAll(nuCon);System.out.println("数组:" + array);System.out.println("数组长度: " + array.size());}运行结果为:// 复杂数据类型public static void Complexdata() {HashMap<String, Object> map = new HashMap<String, Object>();map.put("username", "zhangsan");map.put("age", 24);map.put("sex", "男");// map集合HashMap<String, Object> temp = new HashMap<String, Object>();temp.put("name", "xiaohong");temp.put("age", "23");map.put("girlInfo", temp);// list集合List<String> list = new ArrayList<String>();list.add("爬山");list.add("骑车");list.add("旅游");map.put("hobby", list);String jsonString = JSON.toJSONString(map);System.out.println("复杂数据类型:" + jsonString);} 运行结果为:复杂数据类型:{"age":24,"girlInfo":{"age":"23","name":"xiaohong"},"hobby":["爬山","骑车","旅游"],"sex":"男","username":"zhangsan"}public static void Deserialization(String json) {Userinfo userInfo = JSON.parseObject(json, Userinfo.class);System.out.println("姓名是:" + userInfo.getName() + ", 年龄是:"+ userInfo.getAge());} 解析Json字符串,运行结果为:// 格式话日期public static void DateFormate(Date date) {System.out.println("输出毫秒值:" + JSON.toJSONString(date));System.out.println("默认格式为:"+ JSON.toJSONString(date,SerializerFeature.WriteDateUseDateFormat));System.out.println("自定义日期:"+ JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd",SerializerFeature.WriteDateUseDateFormat));}格式化日期,运行结果为:// Json转为实体private static void Json2Eetity(String json) {Userinfo userInfo = JSON.parseObject(json, Userinfo.class);System.out.println("输出对象的地址:" + userInfo.toString());System.out.println("输出对象的名字:" + userInfo.getName());}}运行结果为: FastJson还是???较好用的一个解析格式,不管是转化为Json,还是解析Json。Github地址为https://github.com/AlibabaTech/fastjson。--------------------------------------分割线 --------------------------------------Struts中异步传送XML和JSON类型的数据 http://www.linuxidc.com/Linux/2013-08/88247.htmLinux下JSON库的编译及代码测试 http://www.linuxidc.com/Linux/2013-03/81607.htmjQuery 获取JSON数据[$.getJSON方法] http://www.linuxidc.com/Linux/2013-03/81673.htm用jQuery以及JSON包将表单数据转为JSON字符串 http://www.linuxidc.com/Linux/2013-01/77560.htm在C语言中解析JSON配置文件 http://www.linuxidc.com/Linux/2014-05/101822.htm--------------------------------------分割线 --------------------------------------本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-03/115366.htm