`

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-1.2.54-API文档-中文版.zip

    赠送jar包:fastjson-1.2.54.jar; 赠送原API文档:fastjson-1.2.54-javadoc.jar; 赠送源代码:fastjson-1.2.54-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.54.pom; 包含翻译后的API文档:fastjson-...

    fastjson-1.2.51-API文档-中文版.zip

    赠送jar包:fastjson-1.2.51.jar; 赠送原API文档:fastjson-1.2.51-javadoc.jar; 赠送源代码:fastjson-1.2.51-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.51.pom; 包含翻译后的API文档:fastjson-...

    Android FastJSON小示例

    在Android开发中,数据交换和序列化是常见的需求,FastJSON是阿里巴巴提供的一款高效、功能丰富的JSON库,它被广泛应用于Android Studio项目中。本文将详细介绍如何在Android Studio中使用FastJSON进行JSON解析和...

    fastjson-1.2.17-API文档-中文版.zip

    赠送jar包:fastjson-1.2.17.jar; 赠送原API文档:fastjson-1.2.17-javadoc.jar; 赠送源代码:fastjson-1.2.17-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.17.pom; 包含翻译后的API文档:fastjson-...

    Fastjson1.2.47以及之前的所有版本

    **Fastjson:一个高效、强大的Java JSON库** Fastjson是阿里巴巴开发的一个开源项目,它是一个Java语言编写的高性能功能完备的JSON库。Fastjson能够将Java对象转换为JSON字符串,也能将JSON内容转换为对应的Java...

    fastjson-1.2.72-API文档-中文版.zip

    赠送jar包:fastjson-1.2.72.jar; 赠送原API文档:fastjson-1.2.72-javadoc.jar; 赠送源代码:fastjson-1.2.72-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.72.pom; 包含翻译后的API文档:fastjson-1.2....

    fastjson-1.1.37-API文档-中文版.zip

    赠送jar包:fastjson-1.1.37.jar; 赠送原API文档:fastjson-1.1.37-javadoc.jar; 赠送源代码:fastjson-1.1.37-sources.jar; 赠送Maven依赖信息文件:fastjson-1.1.37.pom; 包含翻译后的API文档:fastjson-...

    fastjson的一个小例子

    **FastJson:一个高效、强大的Java JSON库** FastJson是阿里巴巴开源的一款高性能的JSON库,它主要用于Java对象与JSON字符串之间的转换。在这个小例子中,我们将深入探讨FastJson的使用方法,以及它如何帮助开发者...

    fastjson-1.2.78-API文档-中文版.zip

    赠送jar包:fastjson-1.2.78.jar; 赠送原API文档:fastjson-1.2.78-javadoc.jar; 赠送源代码:fastjson-1.2.78-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.78.pom; 包含翻译后的API文档:fastjson-1.2....

    fastjson-1.2.38的官方jar包合集【fastjson-1.2.38.jar,fastjson-1.2.38-sources.jar】

    这个压缩包集合包含了Fastjson的1.2.38版本,具体包括三个重要的组成部分:`fastjson-1.2.38.jar`(核心运行时库)、`fastjson-1.2.38-sources.jar`(源代码)以及`fastjson-1.2.38-javadoc.jar`(API文档)。...

    fastjson-1.2.9.jar.zip

    **Fastjson 深度解析** Fastjson 是阿里巴巴开发的一款高效、功能强大的 JSON 解析库,广泛应用于 Java 开发环境中。其主要特点是性能优异,易用性好,且具有丰富的功能,使得它在处理 JSON 数据时能提供极高的效率...

    Alibaba Fastjson Jar包.zip

    Fastjson是阿里巴巴开发的一款高效、功能丰富的JSON库,主要用于Java平台。它提供了快速解析和生成JSON的能力,使得在Java程序中处理JSON数据变得极其便捷。这个"Alibaba Fastjson Jar包.zip"文件包含了Fastjson库的...

    fastjson定制工程,别名配置化

    标题中的“fastjson定制工程,别名配置化”指的是对Fastjson库的扩展,使其能够支持动态配置字段别名,而不是像原生Fastjson那样只能硬编码(hardcode)在代码中。这样的改进对于处理与第三方接口交互时,字段名称...

    各个版本fastJson_jar包最新版

    Fastjson是阿里巴巴开发的一款高性能的Java语言JSON库,它的全称是Fast Java Object to JSON and JSON to Java Object,主要用于处理JSON格式的数据。在Java开发中,JSON作为一种轻量级的数据交换格式,广泛应用于...

    fastjson-1.2.4.jar

    《深入解析Fastjson-1.2.4.jar》 Fastjson是阿里巴巴开发的一款高效、功能强大的JSON库,广泛应用于Java开发领域。它以其简洁的API、卓越的性能以及对Java对象与JSON数据之间的无缝转换而备受赞誉。在这个讨论中,...

    最新fastJSON C#的JSON开发包 v2.1.18

    **FastJSON for C#:深度解析与应用** FastJSON 是一个高效的 JSON 序列化和反序列化库,尤其在C#开发环境中被广泛应用。它以其轻量级、快速和简单的特点,使得处理JSON数据变得极其便捷。在这个最新的版本 v2.1.18...

    java FASTJSON 解析复杂JSON实例源码

    Java中的Fastjson是一个高效、功能丰富的JSON库,由阿里巴巴开发并维护。它提供了一种简单的方式来序列化和反序列化Java对象,使得处理JSON数据变得轻而易举。在这个实例中,我们将深入探讨如何使用Fastjson来解析...

    fastjson-1.2.78.jar.zip

    《深入解析Fastjson-1.2.78.jar在JavaWeb开发中的应用》 Fastjson是阿里巴巴开源的一个高性能的JSON库,它具有轻量级、快速、易用的特点,广泛应用于JavaWeb开发中。在标题提及的"fastjson-1.2.78.jar.zip"压缩包中...

    fastjson-1.2.58.rar

    《Fastjson:Java环境下的JSON与XML互转利器》 Fastjson是阿里巴巴开发的一个高性能的Java库,专门用于处理JSON数据。它不仅能够快速地解析和生成JSON,而且支持将JSON对象与Java对象互相转换,这在Java开发中非常...

    fastjson-1.2.47官方jar包下载

    《深入解析Fastjson-1.2.47官方jar包》 Fastjson是阿里巴巴开发的一款高效、强大的Java语言处理JSON的工具包,自其诞生以来,便以其卓越的性能和简洁的API,深受广大开发者喜爱。在Fastjson的1.2.47版本中,我们...

Global site tag (gtag.js) - Google Analytics