Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。那fastjson如何转换为list?下面来我们就来给大家讲解一下fastjson转化为list方法。
第一步:先获取jsonobject对象
JSONObject obj=JSONObject.parseObject(result);//获取jsonobject对象
第二步:把对象转换成jsonArray数组
arr=obj.getJSONArray("resultData");//获取的结果集合转换成数组第三步:将数组转换成字符串:
String js=JSONObject.toJSONString(arr, SerializerFeature.WriteClassName);//将array数组转换成字符串
第四步:将字符串转成list集合
Listcollection = JSONObject.parseArray(js, JmtCase.class);//把字符串转换成集合
FastJson如何解析JSON?
A、服务器端将数据转换成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是开发中经常遇见的,并且Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。所以作为java人员一定要熟悉FastJson的相关操作!最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: