Fastjson介绍
Fastjson是一个Java语言编写的JSON处理器。
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
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
如果获得Fastjson?
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
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
2、主要的使用入口
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> 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 public static final <T> T toJavaObject(JSON json, Class<T> clazz) ; //将JsonObject转换为JavaBean
3、有关类库的一些说明
SerializeWriter:相当于StringBuffer
JSONArray:相当于List<Object>
JSONObject:相当于Map<String, Object>
JSON反序列化没有真正数组,本质类型都是List<Object>
4、fastjson还有很多很高级的特性,比如支持注解、支持全类型序列化,这些都是很好的特性,功能强大,不在本次测试范围。
下面是一个基于fastJson的json序列化例子
private static class JsonZkSerializer implements ZkSerializer { private static Logger logger = Logger.getLogger(JsonZkSerializer.class); @Override public byte[] serialize(Object data) throws ZkMarshallingError { try { String type = data.getClass().getName(); Object jsonObject = JSON.toJSON(data); JSONObject json = new JSONObject(); json.put("classType", type); json.put("data", jsonObject); return json.toJSONString().getBytes(); } catch (Exception e) { logger.error("JsonZkSerializer serialize error", e); return null; } } @Override public Object deserialize(byte[] bytes) throws ZkMarshallingError { try { String jsonStr = new String(bytes); JSONObject json = (JSONObject) JSON.parse(jsonStr); Class classType = Class.forName(json.get("classType").toString()); System.out.println(classType); return JSON.toJavaObject((JSON) json.get("data"), classType); } catch (Exception e) { logger.error(e); return null; } } }
Map<String, Map<String, Integer>> timeSpanData = new HashMap<String, Map<String, Integer>>(); timeSpanData.put("test1", new HashMap<String, Integer>()); timeSpanData.get("test1").put("v1", 1); timeSpanData.put("test2", new HashMap<String, Integer>()); timeSpanData.get("test2").put("v2", 1); timeSpanData.put("test3", new HashMap<String, Integer>()); timeSpanData.get("test3").put("v3", 1); System.out.println(timeSpanData); String str = JSON.toJSONString(timeSpanData); System.out.println(str); timeSpanData = new HashMap<String, Map<String, Integer>>(); JSONObject appJson = JSON.parseObject(str); for (String appName : appJson.keySet()) { JSONObject serviceJson = (JSONObject) appJson.get(appName); timeSpanData.put(appName, new HashMap<String, Integer>()); for (String rpcName : serviceJson.keySet()) { timeSpanData.get(appName).put(rpcName, serviceJson.getInteger(rpcName)); } } System.out.println(timeSpanData);
相关推荐
在Android开发中,数据交换和序列化是常见的需求,FastJSON是阿里巴巴提供的一款高效、功能丰富的JSON库,它被广泛应用于Android Studio项目中。本文将详细介绍如何在Android Studio中使用FastJSON进行JSON解析和...
在这个小例子中,我们将深入探讨FastJson的使用方法,以及它如何帮助开发者在Android开发中快速处理JSON数据。 在Android应用开发中,JSON是一种常见的数据交换格式,用于在服务器和客户端之间传递数据。FastJson以...
《深入理解Fastjson:阿里巴巴的高效JSON库》 在当今的软件开发中,JSON作为一种轻量级的数据交换格式,被广泛应用于服务器与客户端之间的数据传输。而Fastjson,由阿里巴巴公司开发,是一款性能优秀且易用的Java...
《FastJsonJar:Java开发中的高效JSON处理库》 FastJsonJar,正如其名,是一个专为Java开发者设计的高效JSON解析和生成工具。在现代Web服务和移动应用开发中,JSON作为数据交换格式,其使用频率之高不言而喻。...
**Fastjson:一个高效、强大的Java JSON库** Fastjson是阿里巴巴开发的一个开源项目,它是一个Java语言编写的高性能功能完备的JSON库。Fastjson能够将Java对象转换为JSON字符串,也能将JSON内容转换为对应的Java...
fastjson-1.1.35.jar ,fastjson-1.1.36.jar ,fastjson-1.1.37.jar ,fastjson-1.1.44.jar ,fastjson-1.2.3.jar,fastjson-1.2.4.jar
《深入理解Fastjson:Java中的高效JSON库》 Fastjson是阿里巴巴开源的一个高性能的JSON库,主要用于处理JSON数据的解析、生成以及对象与JSON之间的相互转换。在标题中提到的"fastjson-1.0.4jar"是该库的一个特定...
赠送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-...
赠送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-...
fastjson-1.2.31的官方jar包合集【fastjson-1.2.31.jar,fastjson-1.2.31-sources.jar,fastjson-1.2.31-sources.jar】,还包括源码source,和文档。
阿里Fastjson是一个高性能的Java JSON库,由阿里巴巴公司开发并维护。它被广泛应用于各种Java项目中,尤其在数据解析和序列化方面表现卓越。Fastjson的命名来源于"Fast Java Object to JSON",即快速地将Java对象...
标题中的“fastjson定制工程,别名配置化”指的是对Fastjson库的扩展,使其能够支持动态配置字段别名,而不是像原生Fastjson那样只能硬编码(hardcode)在代码中。这样的改进对于处理与第三方接口交互时,字段名称...
**Fastjson 深度解析** Fastjson 是阿里巴巴开源的一款高效、功能强大的 JSON 库,它主要用于 Java 和 Android 平台。在标题“fastjson1.2.2.rar”和描述中,我们可以推断出这是一个关于 Fastjson 版本 1.2.2 的...
1. **性能优化**:Fastjson一直以其高性能著称,1.2.9版本中可能包含了一些性能提升的改进,比如更快的解析速度和更小的内存占用。 2. **JSONPath支持**:Fastjson支持JSONPath表达式,这是一种类似于XPath的查询...
**Fastjson 深度解析** Fastjson 是阿里巴巴开发的一款高效、功能强大的 JSON 解析库,广泛应用于 Java 开发环境中。其主要特点是性能优异,易用性好,且具有丰富的功能,使得它在处理 JSON 数据时能提供极高的效率...
fastjson-1.2.83.jar下载,fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也支持从JSON字符串反序列化到JavaBean。fastjson采用全新的JSON解析算法,运行速度极快...
赠送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是阿里巴巴开发的一款高效、功能丰富的JSON库,主要用于Java平台。它提供了快速解析和生成JSON的能力,使得在Java程序中处理JSON数据变得极其便捷。这个"Alibaba Fastjson Jar包.zip"文件包含了Fastjson库的...
《深入解析Fastjson 1.2.66版本》 Fastjson是阿里巴巴开源的一个高性能的JSON库,它在Java世界中被广泛使用,为开发者提供了快速、方便地处理JSON数据的能力。Fastjson 1.2.66是该库的一个稳定版本,其核心功能包括...
赠送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-...