FastJson解析

FastJson解析FastJson解析转自:http://blog.sina.com.cn/s/blog_7ffb8dd501013qas.html阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的JavaJsonparser。包括自称最快的JackJson;功能强大,完全支持Ja

FastJson解析

转自:http://blog.sina.com.cn/s/blog_7ffb8dd501013qas.html
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
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 parseObject(String text, Class clazz);
 
// 把JSON文本parse为JavaBean 


public
 
static
 
final
 JSONArray parseArray(String text);
 
// 把JSON文本parse成JSONArray 


public
 
static
 
final
  List parseArray(String text, Class 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。



二、FastJson解析JSON步骤


 

 

 

 
A、服务器端将数据转换成json字符串

 

 

 

 

 

 首先、服务器端项目要导入阿里巴巴的fastjson的jar包至builtPath路径下(这些可以到fastjson官网下载:http://code.alibabatech.com/wiki/display/FastJSON/Home-zh

   
    private static String ConvertStream2Json(InputStream inputStream)
    {

        String jsonStr = “”;
        // ByteArrayOutputStream相当于内存输出流
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len = 0;
        // 将输入流转移到内存输出流中
        try
        {

            while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
            {

                out.write(buffer, 0, len);
            }
            // 将内存流转换为字符串
            jsonStr = new String(out.toByteArray());
        }
        catch (IOException e)
        {

            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return jsonStr;
    }
}


2、使用泛型获取javaBean
(核心函数)


 

 

 

 
public static T getPerson(String jsonString, Class cls) {

        T t = null;
        try {

            t = JSON.parseObject(jsonString, cls);
        } catch (Exception e) {

            // TODO: handle exception
        }
        return t;
    }
public static List getPersons(String jsonString, Class cls) {

        List list = new ArrayList();
        try {

            list = JSON.parseArray(jsonString, cls);
        } catch (Exception e) {

        }
        return list;
    }
public static List

> listKeyMaps(String jsonString) {

        List

> list = new ArrayList >();
        try {

            list = JSON.parseObject(jsonString,
                    new TypeReference>>() {

            });

        } catch (Exception e) {

            // TODO: handle exception
        }
        return list;
    }



今天的文章FastJson解析分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/12365.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注