fastjson的常用使用方法
package Demo; 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 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);
} // 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);
} public static void Deserialization(String json) {
Userinfo userInfo = JSON.parseObject(json, Userinfo.class);
System.out.println("姓名是:" + userInfo.getName() + ", 年龄是:"
+ userInfo.getAge());
} // 格式话日期
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());
}
}
以上Demo所用到的实体类:
package entity; public class Userinfo {
private static final long serialVersionUID = 1L;
private String name;
private int age; public Userinfo() {
super();
} public Userinfo(String name, int age) {
super();
this.name = name;
this.age = age;
} public void setName(String name) {
this.name = name;
} public String getName() {
return name;
} public void setAge(int age) {
this.age = age;
} public int getAge() {
return age;
}
}
fastjson的常用使用方法的更多相关文章
- WebAPi添加常用扩展方法及思维发散
前言 在WebAPi中我们通常需要得到请求信息中的查询字符串或者请求头中数据再或者是Cookie中的数据,如果需要大量获取,此时我们应该想到封装一个扩展类来添加扩展方法,从而实现简便快捷的获取. We ...
- StringUtils中的常用的方法
org.apache.commons.lang.StringUtils中常用的方法,这里主要列举String中没有,且比较有用的方法: 1. 检查字符串是否为空: static boolean isB ...
- JOptionPane类提示框的一些常用的方法
JOptionPane类提示框的一些常用的方法 XMLOracleSwing 最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法. 很方便的,于是就简单的整理了 ...
- 常用js方法
function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...
- jQuery操作Table tr td常用的方法
虽然现在DIV+CSS进行页的布局大行其道,但是很多地方使用table还是有很多优势,用table展示数据是比较方便的,下面汇总了jQuery操作Table tr td常用的方法,熟记这些操作技巧,下 ...
- iOS常用公共方法
iOS常用公共方法 字数2917 阅读3070 评论45 喜欢236 1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat si ...
- org.apache.commons.lang.StringUtils中常用的方法
org.apache.commons.lang.StringUtils中常用的方法,这里主要列举String中没有,且比较有用的方法: 1. 检查字符串是否为空: static boolean isB ...
- 常用js方法整理common.js
项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...
- Java获取各种常用时间方法大全
Java获取各种常用时间方法大全 package cc.javaweb.test; Java中文网,Java获取各种时间大全 import java.text.DateFormat; import j ...
随机推荐
- Oracle闪回详解
1.问题定义 闪回是dba做的工作.现在也可授权给某个用户. 闪回的定义:就是将用户错误的操作回恢到以前的状态.即使你的事务提交的commit. 如果你删除了一个表.Drop table(DDL) ...
- 解决升级Xcode后插件不能使用的问题
从Xcode 5开始,苹果要求加入UUID证书从而保证插件的稳定性.因此Xcode版本更新之后需要在插件的Info.plist文件中添加当前Xcode的UUID. 具体步骤如下: 1.获取Xcode的 ...
- Sql Server 2012启动存储过程
可以通过如下步骤创建 1.打开show advanced options reconfigure 2.打开scan for startup procs,使得sql server在启动时扫描需要运行的p ...
- linux网络编程:select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET(转)
从别人的博客中转载过来了这一篇文章,经过重新编辑排版之后展现于此,做一个知识点保存与学习. select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复 ...
- mysql中,执行delete语句时出现Lock wait timeout exceeded问题
问题描述: 当我插入一条记录时,在调用save方法的时候出现了异常(记录重复了),导致了后面的commit语句不能执行了.这时我在数据库中删除重复记录时发现该表已经被锁上了.即出现错误.但过了一会再次 ...
- oracle 序列
查询序列值 select td_prodline_attr_seq.nextval from dual 查询用户建的所有序列 用户名 必须大写select SEQUENCE_OWNER,SEQ ...
- 纯css改变下拉列表select框的默认样式
下列CSS就可以解决,原理是将浏览器默认的下拉框样式清除,然后应用上自己的,再附一张向右对齐小箭头的图片即可. select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下* ...
- [转]在ITunes播放中前进、后退五秒的快捷键
在ITunes播放中前进.后退五秒的快捷键 如题,快捷键为Command+Alt+方向键.听Podcast一两句没听清楚的时候很有用. reference: http://mac.pcbeta.com ...
- java性能优化技巧
在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序性能. 1. 尽量使用final修饰符. 带有final修饰符的类是不可派生的. ...
- android关于window
http://mobile.51cto.com/android-259922_all.htm http://mobile.51cto.com/android-259922.htm http://mob ...