`
_____bEn-beN
  • 浏览: 14431 次
社区版块
存档分类
最新评论

阿里巴巴的fastjson

 
阅读更多

一、阿里巴巴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)

JSON <wbr>之FastJson解析然后将数据转为json字符串,核心函数是:
public static String createJsonString(Object value)
    {
        String alibabaJson = JSON.toJSONString(value);
        return alibabaJson;
    }
B、客户端将json字符串转换为相应的javaBean
  首先客户端也要导入fastjson的两个jar包
1、客户端获取json字符串
public class HttpUtil
{
   
    public static String getJsonContent(String urlStr)
    {
        try
        {// 获取HttpURLConnection连接对象
            URL url = new URL(urlStr);
            HttpURLConnection httpConn = (HttpURLConnection) url
                    .openConnection();
            // 设置连接属性
            httpConn.setConnectTimeout(3000);
            httpConn.setDoInput(true);
            httpConn.setRequestMethod("GET");
            // 获取相应码
            int respCode = httpConn.getResponseCode();
            if (respCode == 200)
            {
                return ConvertStream2Json(httpConn.getInputStream());
            }
        }
        catch (MalformedURLException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return "";
    }

   
    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 jar包

    阿里巴巴的Fastjson是一款高效、功能丰富的JSON库,广泛应用于Java开发中。它的主要目标是提供快速的性能,轻量级的API以及对Java对象和JSON数据之间的无缝转换。Fastjson在处理大规模数据序列化和反序列化时表现...

    阿里巴巴fastjson

    免费版阿里巴巴fastjson下载免费版阿里巴巴fastjson下载免费版阿里巴巴fastjson下载免费版阿里巴巴fastjson下载免费版阿里巴巴fastjson下载免费版阿里巴巴fastjson下载

    阿里巴巴fastjson的jar包

    **Fastjson:阿里巴巴的强大JSON库** Fastjson是阿里巴巴开发的一款高效、功能丰富的JSON解析库,广泛应用于Java开发中。它提供了快速的性能,简洁的API,使得JSON与Java对象之间的转换变得异常简单。Fastjson的...

    阿里巴巴fastjson-1.2.83.jar

    阿里巴巴1.2.80及之前版本存在高危漏洞,已发布最新的1.2.83版本,供需要的各位下载使用。

    阿里巴巴开源fastjson

    《阿里巴巴开源Fastjson详解》 Fastjson,作为阿里巴巴开源的一款高效、功能强大的JSON库,它在Java开发领域中被广泛使用。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁明了的特性,...

    fastjson-1.2.83.jar下载

    fastjson-1.2.83.jar下载,fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也支持从JSON字符串反序列化到JavaBean。fastjson采用全新的JSON解析算法,运行速度极快...

    fastjson-1.2.74.jar和1.2.53两个版本

    2020最新的fastjson.jar,阿里开源的,非常好用,里面有两个版本,分别是1.2.53跟1.2.74两个版本,欢迎大家下载

    通过fastjson实现各种格式与json之间的转换

    通过fastjson实现了JavaBean,list,MAP,list等格式与json格式之间的转换,已经附带fastjson的包,包的版本为fastjson-1.1.36.jar

    fastjson 1.2.6

    fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点: 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java ...

    fastjson-example:阿里巴巴fastjson示例。 一些演示以展示如何使用fastjson

    FastJson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。Github地址: 2.FastJson的特点: 1.速度快,无论序列化和反序列化,都...

    fastjson解析科大讯飞案例

    利用fastjson解析科大讯飞的听写json字符串,实现语音听写

    fastjson的jar包(alibaba.fastson引用所需jar包).rar

    《阿里巴巴Fastjson:高效便捷的JSON处理库》 在当今的软件开发中,JSON作为一种轻量级的数据交换格式,被广泛应用于服务器与客户端之间的数据传输。然而,如何快速有效地解析和生成JSON对象,成为了开发者面临的...

    阿里巴巴json解析 fastjson.jar

    《阿里巴巴JSON解析库Fastjson详解》 在Java开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛应用于服务器与客户端之间的数据传输。而阿里巴巴的Fastjson库,便是针对Java平台设计的...

    fastjson-1.2.62.zip

    《深入剖析阿里巴巴Fastjson——基于1.2.62版本》 Fastjson是阿里巴巴开发的一款高性能的Java语言JSON库,其在处理JSON数据时表现出色,广泛应用于各种数据解析场景。本文将基于Fastjson的1.2.62版本,详细讲解其...

    啊里巴巴FastJson jar包

    阿里巴巴的FastJson是一个高效、功能丰富的Java库,用于处理JSON数据。它提供了快速的性能,使得在Java应用程序中解析和生成JSON变得极其便捷。FastJson不仅适用于简单的JSON操作,还能应对复杂的JSON转换场景,广泛...

    fastjson包解析json数据

    阿里巴巴 fastjson是目前解析json数据的一种比较高效,快速的方式。

    com.alibaba.fastjson.JSONArray依赖jar.rar

    《深入解析阿里巴巴Fastjson库:以JSONArray为重点》 在Java世界中,数据序列化与反序列化是一项重要的任务,它涉及到对象与JSON格式之间的转换。阿里巴巴的Fastjson库以其高效、易用的特点,成为了广大开发者青睐...

    com.alibaba.fastjson.JSONObject.rar

    《深入解析阿里巴巴Fastjson之JSONObject》 Fastjson是阿里巴巴开源的一款高效、功能强大的JSON库,广泛应用于Java开发中。在给定的“com.alibaba.fastjson.JSONObject.rar”压缩包中,我们主要关注的是...

    com.alibaba.fastjson 完整jar包,亲测可用

    你一定会感谢我的,因为真的很不错

    fastjson-1.2.60.jar

    阿里巴巴fastjson 1.2.60最新版,号称最快的json解析,2019年8月更新,修复拒绝服务安全问题。

Global site tag (gtag.js) - Google Analytics