一、阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
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步骤
首先、服务器端项目要导入阿里巴巴的fastjson的jar包至builtPath路径下(这些可以到fastjson官网下载:http://code.alibabatech.com/wiki/display/FastJSON/Home-zh)
然后将数据转为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是一款高效、功能丰富的JSON库,广泛应用于Java开发中。它的主要目标是提供快速的性能,轻量级的API以及对Java对象和JSON数据之间的无缝转换。Fastjson在处理大规模数据序列化和反序列化时表现...
免费版阿里巴巴fastjson下载免费版阿里巴巴fastjson下载免费版阿里巴巴fastjson下载免费版阿里巴巴fastjson下载免费版阿里巴巴fastjson下载免费版阿里巴巴fastjson下载
**Fastjson:阿里巴巴的强大JSON库** Fastjson是阿里巴巴开发的一款高效、功能丰富的JSON解析库,广泛应用于Java开发中。它提供了快速的性能,简洁的API,使得JSON与Java对象之间的转换变得异常简单。Fastjson的...
阿里巴巴1.2.80及之前版本存在高危漏洞,已发布最新的1.2.83版本,供需要的各位下载使用。
《阿里巴巴开源Fastjson详解》 Fastjson,作为阿里巴巴开源的一款高效、功能强大的JSON库,它在Java开发领域中被广泛使用。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁明了的特性,...
fastjson-1.2.83.jar下载,fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也支持从JSON字符串反序列化到JavaBean。fastjson采用全新的JSON解析算法,运行速度极快...
2020最新的fastjson.jar,阿里开源的,非常好用,里面有两个版本,分别是1.2.53跟1.2.74两个版本,欢迎大家下载
通过fastjson实现了JavaBean,list,MAP,list等格式与json格式之间的转换,已经附带fastjson的包,包的版本为fastjson-1.1.36.jar
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点: 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java ...
FastJson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。Github地址: 2.FastJson的特点: 1.速度快,无论序列化和反序列化,都...
利用fastjson解析科大讯飞的听写json字符串,实现语音听写
《阿里巴巴Fastjson:高效便捷的JSON处理库》 在当今的软件开发中,JSON作为一种轻量级的数据交换格式,被广泛应用于服务器与客户端之间的数据传输。然而,如何快速有效地解析和生成JSON对象,成为了开发者面临的...
《阿里巴巴JSON解析库Fastjson详解》 在Java开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛应用于服务器与客户端之间的数据传输。而阿里巴巴的Fastjson库,便是针对Java平台设计的...
《深入剖析阿里巴巴Fastjson——基于1.2.62版本》 Fastjson是阿里巴巴开发的一款高性能的Java语言JSON库,其在处理JSON数据时表现出色,广泛应用于各种数据解析场景。本文将基于Fastjson的1.2.62版本,详细讲解其...
阿里巴巴的FastJson是一个高效、功能丰富的Java库,用于处理JSON数据。它提供了快速的性能,使得在Java应用程序中解析和生成JSON变得极其便捷。FastJson不仅适用于简单的JSON操作,还能应对复杂的JSON转换场景,广泛...
阿里巴巴 fastjson是目前解析json数据的一种比较高效,快速的方式。
《深入解析阿里巴巴Fastjson库:以JSONArray为重点》 在Java世界中,数据序列化与反序列化是一项重要的任务,它涉及到对象与JSON格式之间的转换。阿里巴巴的Fastjson库以其高效、易用的特点,成为了广大开发者青睐...
《深入解析阿里巴巴Fastjson之JSONObject》 Fastjson是阿里巴巴开源的一款高效、功能强大的JSON库,广泛应用于Java开发中。在给定的“com.alibaba.fastjson.JSONObject.rar”压缩包中,我们主要关注的是...
你一定会感谢我的,因为真的很不错
阿里巴巴fastjson 1.2.60最新版,号称最快的json解析,2019年8月更新,修复拒绝服务安全问题。