FastJSON应用前测试
FastJSON 应用前测试
FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能。\
实际上其他的json处理工具都和它差不多,api也有几分相似。
1、遵循http://json.org标准,为其官方网站收录的参考实现之一。
2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。
3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。
4、开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home
SVN:http://code.alibabatech.com/svn/fastjson/trunk/
WIKI:http://code.alibabatech.com/wiki/display/FastJSON/Home
Issue Tracking:http://code.alibabatech.com/jira/browse/FASTJSON
- public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
- public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
- public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
- public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
- public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
- public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
- public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
- public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。
3、有关类库的一些说明
- package lavasoft.stu.json;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.serializer.SerializeConfig;
- import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
- import java.util.*;
- /**
- * Created by IntelliJ IDEA.
- *
- * @author leizhimin 11-11-22 上午9:15
- */
- public class Foo {
- private String vString = "vStringhehhehe";
- private char vchar = 'x';
- private byte vbyte = ;
- private short vshort = ;
- private int vint = ;
- private long vlong = 9999999L;
- private float vfloat = 12.1f;
- private double vdouble = 22.203d;
- private boolean vboolean = false;
- // private Date vdate = new Date();
- private Date dddd = new Date();
- private Date vDate = new Date();
- private Date v_Date = new Date();
- private Object vnull = null;
- private String[] avString = {"aaa", "bbb", "ccc"};
- private int[] avint = {, , , };
- private boolean[] avboolean = {true, false, true, true};
- private List<String> listString = new ArrayList<String>();
- private Map<String, String> map = new HashMap<String, String>();
- private Bar bar = new Bar();
- private Bar[] avBar = {new Bar(), new Bar()};
- private List<Bar> listBar = new ArrayList<Bar>();
- {
- listString.add("listString1");
- listString.add("listString2");
- listString.add("listString3");
- map.put("x", "s11111x");
- map.put("y", "s22222y");
- map.put("z", "s33333z");
- listBar.add(new Bar());
- listBar.add(new Bar());
- listBar.add(new Bar());
- }
- public String getvString() {
- return vString;
- }
- public void setvString(String vString) {
- this.vString = vString;
- }
- public char getVchar() {
- return vchar;
- }
- public void setVchar(char vchar) {
- this.vchar = vchar;
- }
- public byte getVbyte() {
- return vbyte;
- }
- public void setVbyte(byte vbyte) {
- this.vbyte = vbyte;
- }
- public short getVshort() {
- return vshort;
- }
- public void setVshort(short vshort) {
- this.vshort = vshort;
- }
- public int getVint() {
- return vint;
- }
- public void setVint(int vint) {
- this.vint = vint;
- }
- public long getVlong() {
- return vlong;
- }
- public void setVlong(long vlong) {
- this.vlong = vlong;
- }
- public float getVfloat() {
- return vfloat;
- }
- public void setVfloat(float vfloat) {
- this.vfloat = vfloat;
- }
- public double getVdouble() {
- return vdouble;
- }
- public void setVdouble(double vdouble) {
- this.vdouble = vdouble;
- }
- public boolean isVboolean() {
- return vboolean;
- }
- public void setVboolean(boolean vboolean) {
- this.vboolean = vboolean;
- }
- public Date getDddd() {
- return dddd;
- }
- public void setDddd(Date dddd) {
- this.dddd = dddd;
- }
- public Date getV_Date() {
- return v_Date;
- }
- public void setV_Date(Date v_Date) {
- this.v_Date = v_Date;
- }
- public Date getvDate() {
- return vDate;
- }
- public void setvDate(Date vDate) {
- this.vDate = vDate;
- }
- public Object getVnull() {
- return vnull;
- }
- public void setVnull(Object vnull) {
- this.vnull = vnull;
- }
- public String[] getAvString() {
- return avString;
- }
- public void setAvString(String[] avString) {
- this.avString = avString;
- }
- public int[] getAvint() {
- return avint;
- }
- public void setAvint(int[] avint) {
- this.avint = avint;
- }
- public boolean[] getAvboolean() {
- return avboolean;
- }
- public void setAvboolean(boolean[] avboolean) {
- this.avboolean = avboolean;
- }
- public List<String> getListString() {
- return listString;
- }
- public void setListString(List<String> listString) {
- this.listString = listString;
- }
- public Map<String, String> getMap() {
- return map;
- }
- public void setMap(Map<String, String> map) {
- this.map = map;
- }
- public Bar getBar() {
- return bar;
- }
- public void setBar(Bar bar) {
- this.bar = bar;
- }
- public Bar[] getAvBar() {
- return avBar;
- }
- public void setAvBar(Bar[] avBar) {
- this.avBar = avBar;
- }
- public List<Bar> getListBar() {
- return listBar;
- }
- public void setListBar(List<Bar> listBar) {
- this.listBar = listBar;
- }
- }
- package lavasoft.stu.json;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.serializer.SerializeConfig;
- import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
- import java.util.Date;
- import java.util.Random;
- /**
- * Created by IntelliJ IDEA.
- *
- * @author leizhimin 11-11-22 上午9:15
- */
- public class Bar {
- public static SerializeConfig mapping = new SerializeConfig();
- private String barName;
- private int barAge;
- private Date barDate = new Date();
- static {
- mapping.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd"));
- }
- {
- Random r = new Random();
- barName = "sss_"+String.valueOf(r.nextFloat());
- barAge = r.nextInt();
- }
- public static void main(String[] args) {
- Object obj = JSON.toJSON(new Bar());
- String x1 = JSON.toJSONString(new Bar(), true);
- System.out.println(x1);
- String x2 = JSON.toJSONString(new Bar(), mapping);
- System.out.println(x2);
- }
- public String getBarName() {
- return barName;
- }
- public void setBarName(String barName) {
- this.barName = barName;
- }
- public int getBarAge() {
- return barAge;
- }
- public void setBarAge(int barAge) {
- this.barAge = barAge;
- }
- public Date getBarDate() {
- return barDate;
- }
- public void setBarDate(Date barDate) {
- this.barDate = barDate;
- }
- @Override
- public String toString() {
- return "Bar{" +
- "barName='" + barName + '\'' +
- ", barAge=" + barAge +
- ", barDate=" + barDate +
- '}';
- }
- }
- package lavasoft.stu.json;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.serializer.SerializeConfig;
- import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
- import java.util.*;
- /**
- * Created by 2IntelliJ IDEA.
- *
- * @author leizhimin 11-11-22 上午9:45
- */
- public class Test {
- private static SerializeConfig mapping = new SerializeConfig(); static {
- mapping.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss"));
- }
- public static void main(String[] args) {
- Foo f1 = new Foo();
- Date date = new Date();
- String text = JSON.toJSONString(date, mapping);
- System.out.println(text);
- System.out.println(JSON.toJSONString(f1, true));
- String x2 =JSON.toJSONString(f1, mapping);
- System.out.println(x2);
- }
- public static void json2List(){
- //List -> JSON array
- List<Bar> barList = new ArrayList<Bar>();
- barList.add(new Bar());
- barList.add(new Bar());
- barList.add(new Bar());
- String json= JSON.toJSONString(barList, true);
- System.out.println(json);
- //JSON array -> List
- List<Bar> barList1 = JSON.parseArray(json,Bar.class);
- for (Bar bar : barList1) {
- System.out.println(bar.toString());
- }
- }
- public static void json2Map(){
- //Map -> JSON
- Map<String,Bar> map = new HashMap<String, Bar>();
- map.put("a",new Bar());
- map.put("b",new Bar());
- map.put("c",new Bar());
- String json = JSON.toJSONString(map,true);
- System.out.println(json);
- //JSON -> Map
- Map<String,Bar> map1 = (Map<String,Bar>)JSON.parse(json);
- for (String key : map1.keySet()) {
- System.out.println(key+":"+map1.get(key));
- }
- }
- public static void array2JSON(){
- String[] arr_String = {"a","b","c"};
- String json_arr_String = JSON.toJSONString(arr_String,true);
- System.out.println(json_arr_String);
- JSONArray jsonArray = JSON.parseArray(json_arr_String);
- for (Object o : jsonArray) {
- System.out.println(o);
- }
- System.out.println(jsonArray);
- }
- public static void array2JSON2(){
- Bar[] arr_Bar = {new Bar(),new Bar(),new Bar()};
- String json_arr_Bar = JSON.toJSONString(arr_Bar,true);
- System.out.println(json_arr_Bar);
- JSONArray jsonArray = JSON.parseArray(json_arr_Bar);
- for (Object o : jsonArray) {
- System.out.println(o);
- }
- System.out.println(jsonArray);
- }
- public static void map2JSON(){
- Map map = new HashMap();
- map.put("a","aaa");
- map.put("b","bbb");
- map.put("c","ccc");
- String json=JSON.toJSONString(map);
- System.out.println(json);
- Map map1 = JSON.parseObject(json);
- for (Object o : map.entrySet()) {
- Map.Entry<String,String> entry = (Map.Entry<String,String>)o;
- System.out.println(entry.getKey()+"--->"+entry.getValue());
- }
- }
- }
- "2011-11-23 23:30:33"
- {
- "avBar":[{
- "barAge":,
- "barDate":,
- "barName":"sss_0.62378174"
- },{
- "barAge":,
- "barDate":,
- "barName":"sss_0.36014742"
- }],
- "avString":["aaa","bbb","ccc"],
- "avboolean":[true,false,true,true],
- "avint":[,,,],
- "bar":{
- "barAge":,
- "barDate":,
- "barName":"sss_0.46644872"
- },
- "dddd":,
- "listBar":[
- {
- "barAge":-,
- "barDate":,
- "barName":"sss_0.83562374"
- },
- {
- "barAge":,
- "barDate":,
- "barName":"sss_0.59483266"
- },
- {
- "barAge":,
- "barDate":,
- "barName":"sss_0.9961642"
- }
- ],
- "listString":[
- "listString1",
- "listString2",
- "listString3"
- ],
- "map":{"x":"s11111x","y":"s22222y","z":"s33333z"},
- "v_Date":,
- "vboolean":false,
- "vbyte":,
- "vchar":"x",
- "vdouble":22.203,
- "vfloat":12.1,
- "vint":,
- "vlong":,
- "vshort":
- }
- {"avBar":[{"barAge":,"barDate":"2011-11-23 23:30:33","barName":"sss_0.62378174"},{"barAge":,"barDate":"2011-11-23 23:30:33","barName":"sss_0.36014742"}],"avString":["aaa","bbb","ccc"],"avboolean":[true,false,true,true],"avint":[,,,],"bar":{"barAge":,"barDate":"2011-11-23 23:30:33","barName":"sss_0.46644872"},"dddd":"2011-11-23 23:30:33","listBar":[{"barAge":-,"barDate":"2011-11-23 23:30:33","barName":"sss_0.83562374"},{"barAge":,"barDate":"2011-11-23 23:30:33","barName":"sss_0.59483266"},{"barAge":,"barDate":"2011-11-23 23:30:33","barName":"sss_0.9961642"}],"listString":["listString1","listString2","listString3"],"map":{"x":"s11111x","y":"s22222y","z":"s33333z"},"v_Date":"2011-11-23 23:30:33","vboolean":false,"vbyte":,"vchar":"x","vdouble":22.203,"vfloat":12.1,"vint":,"vlong":,"vshort":}
- Process finished with exit code
FastJSON应用前测试的更多相关文章
- FastJSON应用前测试--转载
FastJSON 应用前测试 FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能. ...
- IOS AppStore上线前测试
IOS AppStore上线前测试 TestFlight Beta ios 8才开始支持. https://developer.apple.com/library/ios/documentation ...
- 上线前测试的bug,要不要处理,跟版本的关系
最近有两个项目是在旧版本上实施的.上线前经过一轮测试后,发现了一些产品(我们的产品确实不稳定) 在这个项目上,修改产品bug是肯定的.但是要不要追踪这些bug? 这就跟版本使用范围有关系了,毕竟要考虑 ...
- 学生选课系统(Java语言期末前测试)
测试具体要求: 2.系统要求与功能设计 2.1 页面要求 (1)能够在Tomcat服务器中正确部署,并通过浏览器查看: (2)网站页面整体风格统一: (3)首页(登录页)要求实现不同用户登录后,进 ...
- 2017 6 2php用PDO链接数据库前测试
try { $dsn = "mysql:dbname=test;host=127.0.0.1";//链接mysql的DSN(数据库驱动) $user = 'root';//Mysq ...
- FastJSON 简介及其Map/JSON/String 互转
在日志解析,前后端数据传输交互中,经常会遇到 String 与 map.json.xml 等格式相互转换与解析的场景,其中 json 基本成为了跨语言.跨前后端的事实上的标准数据交互格式.应该来说各个 ...
- 关于xcode6打包以及上线前企业部署测试的说明 --转自张诚教授微博
xcode6如何打包 首先clean然后点击归档 点击打包之后保存 点选第一个以后检查相关证书签名 那么我们开发完以后,在上线前如何给别人测试 有2种方法 1.使用299美金的企业开发者账号搭建企业部 ...
- maven 打包前 Junit 测试
1. 在需要打包前测试的项目中添加依赖 <dependency> <groupId>junit</groupId> <artifactId>junit& ...
- [转]fastjson
原文地址:http://www.cnblogs.com/zhenmingliu/archive/2011/12/29/2305775.html FastJSON是一个很好的java开源json工具类库 ...
随机推荐
- php 函数之 )_each()list()implode()explode()in_array()
<?php /* implode() 把数组组合成字符串 explode() 把字符串分割成数组 in_array() 检测内容是否在数组中 each()把数组元素拆分成新的数组 list() ...
- 不同分辨率下获取不同js文件
获取当前网站的目录 //js获取网站根路径(站点及虚拟目录),获得网站的根目录或虚拟目录的根地址 function getRootPath(){ //整个域名(如:http://vc3.cn/ind ...
- Child Process
Child Process child_process 这个模块可以生成一个子进程.nodejs提供了好几个API,本质上都是调用child_process.spawn(): const spawn ...
- Oracle EBS-SQL (INV-6):检查监督帐户别名处理.sql
select MSI.SEGMENT1 项目编码, MSI.DESCRIPTION ...
- QTextEdit中选中文本修改字体与颜色,全部文本修改字体与颜色(设置调色板的前景色、背景色、文字颜色以及基色)
----我的生活,我的点点滴滴!! 当然以下内容都可以通过设置样式来达到目的,但是下面不使用这样的方法 先来看张图,理解此图基本就能实现上面所要达到的目的了 Widget::Widget(QWidge ...
- C# 导出CSV功能记录下
异常问题1: 如 机构编号 导出城CSV后,前面的四个0000不显示了, 解决办法 输出格式变为 =" 异常问题2: PPMABAT01:/MABATAPS/usr/ma_batas > ...
- UML_行为图
活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流.活动图在本质上是一种流程图.活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的 ...
- react-native 自己搭建热更新服务器
使用到的框架是 react-native-update react-native-update-cli 这个应该执行热更新的时候的终端命令. 通过这个,自己搭建一个热更新的服务器.
- SQL SERVER分区视图
借助SQL SERVER分区视图,可以对SQL中的表进行集中管理,下文将以实例的方式为您详解SQL SERVER分区视图,希望对您学习SQL数据库能有所帮助. SQL SERVER分区视图给我们提供了 ...
- iOS各种类
http://www.isenhao.com/xueke/jisuanji/bcyy/objc.php http://www.code4app.com 这网站不错,收集各种 iOS App 开发可以用 ...