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);
} // 实体转为Json
public 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转Json
public 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);
}
运行结果为: // 字符数组转化为JSon
private 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。

 

Json应用案例的更多相关文章

  1. Json应用案例之FastJson

    这几天在网上找关于Json的一些案例,无意当中找到了一个我个人感觉比较好的就是阿里巴巴工程师写的FastJson. package com.jerehedu.fastjson; import java ...

  2. javascript之JSON小案例,实现添加数据与清楚数据

    对json应用给出一个小案例,加深一些理解: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" & ...

  3. Newtonsoft.Json解析Json字符串案例:

    /// <summary> /// 上行jsom格式日志记录 /// </summary> /// <param name="responseJson" ...

  4. JSON实战案例--使用JSON进行数据交换实例

    内容: 1.访问javaScript对象的属性 2.访问Javacript对象数组 3.JSON字符串转换成JavaScript对象 4 .Java对象转换成JSON字符串 5 .使用JSON完成级联 ...

  5. ajax请求json数据案例

    今天有这样一个需求,点击六个大洲,出现对应的一些请求信息,展示在下面,请求请求过后,第二次点击就无需请求.如图所示:点击北美洲下面出现请求的一些数据 html代码结构: <div class=& ...

  6. 重点+超详细:ajax和json及案例

    不用jQuery的ajax流程 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "ht ...

  7. jQuery实例之ajax请求json数据案例

    今天有这样一个需求,点击六个大洲,出现对应的一些请求信息,展示在下面,请求请求过后,第二次点击就无需请求.如图所示:点击北美洲下面出现请求的一些数据 html代码结构: <div class=& ...

  8. json简单案例

    1.Group类 import java.util.ArrayList; import java.util.List; class Group{ private int id; private Str ...

  9. 对象转json字符串案例

    测试对象与json字符串的转换 json字符串转对象 Stringstr = "{\"id\":\"1001\",\"name\" ...

随机推荐

  1. Linux 运维笔试题(一)答案

    答案:   1. ftp:21    远程连接telnet端口:23  smtp:25   rsync:873 SNMP:161   RPC(Remote Procedure Call,远程过程调用) ...

  2. 【Git 三】生成并添加SSH秘钥

    我们在 Windos 或 Linux 上克隆项目的时候, 如果走的是 http 会让输入 username 和 password,每次都要输入是很麻烦的. 为了省事儿.简单,我们可以选择 ssh 方式 ...

  3. BZOJ 1176[Balkan2007]Mokia(CDQ分治)

    1176: [Balkan2007]Mokia Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 3381  Solved: 1520[Submit][S ...

  4. Linux LVM在线扩容

    环境: 虚拟化环境,SUSE Linux Enterprise Server 11sp3,直接把虚拟磁盘从100G改成150G. 现有的LVM是100G,/home 的LV需要再加50G. 步骤: f ...

  5. [Python] Array Attributes of Numpy lib

    Attributes of numpy.ndarray: numpy.ndarray.shape: Dimensions (height, width, ...) numpy.ndarray.ndim ...

  6. 基于Linux的智能家居的设计(2)

    1  系统整体设计方案 智能家居系统的是一个实时查询家庭的温湿度.照明控制.自己主动控制的设定.集家庭娱乐.智能安防为一体,大量数据快处理.可靠的系统,因此在硬件和软件上都有非常大的要求,因此在这里进 ...

  7. 关于Android手机MTP模式连接的一些设置(win7和ubuntu下,以红米1s为例)

    有些手机的MTP模式在电脑上识别不了,须要一些设置才干够,以下就网上收集来的一些设置方法集中贴过来: 一. win7下 參考:http://blog.ammrli.com/?p=1117 1.在设备管 ...

  8. Lesson 2 Building your first web page: Part 3

    Time to build your first HTML page by hand I could go on with more theory and send half of you to sl ...

  9. 分布式架构中shiro

    分布式架构中shiro 前言:前段时间在搭建公司游戏框架安全验证的时候,就想到之前web最火的shiro框架,虽然后面实践发现在netty中不太适用,最后自己模仿shiro写了一个缩减版的,但是中间花 ...

  10. 内连接INNER JOIN(三十四)

    内连接INNER JOIN 一.连接 MySQL的SELECT语句.多表更新.多表删除语句中支持JOIN操作. 语法结构 二.数据表参照 table_reference tbl_name [[AS] ...