json.parsearray(string,class)的简单介绍
jdk1.4版本list转json格式的包
fastjson,试试吧,顺便贴个例子
package test;
import java.util.ArrayList;
import com.alibaba.fastjson.JSON;
public class TestJson {
public static void main (String[]args){
ArrayList al=new ArrayList();
al.add("str1");
al.add("str2");
al.add("str3");
al.add("str4");
al.add("str5");
String jsonString = JSON.toJSONString(al);
System.out.println(jsonString);
ArrayList list = (ArrayList) JSON.parseArray(jsonString, String.class); ?//String表示数据类型
for(int i=0;ilist.size();i++){
? ? ? ?System.out.println(list.get(i));
}
}
}
fastjson怎么解析像“
1. fastjson生成和解析json数据
(举例:4种常用类型:JavaBean,ListJavaBean,ListString,ListMapString,Object)
2.通过一个android程序测试fastjson的用法。
fastjson简介:
Fastjson是一个Java语言编写的高性能功能完善的JSON库。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。Fastjson完全支持son.org的标准,也是官方网站收录的参考实现之一。支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。支持JDK 5、JDK 6、Android、阿里云手机等环境。
一. fastjson生成json字符串(JavaBean,ListJavaBean,ListString,ListMapString,Object)
String jsonStrng = JSON.toJSONString(object);
二. fastjson 解析json字符串为四种类型
1. JavaBean
Person person = JSON.parseObject(jsonString, Person.class);
2. ListJavaBean
ListPerson listPerson =JSON.parseArray(jsonString, Person.class);
3. ListString
ListString listString = JSON.parseArray(jsonString, String.class);
4. ListMapString,Object
ListMapString, Object listMap = JSON.parseObject(jsonString, new TypeReferenceListMapString,Object(){}); (注意:此处可看出fastjson反射机制比gson更准确, id = 1001 通过fastjson反射仍是 id = 1001 , 而通过gson反射结果 为 id =1001.0
多层json数据怎么使用 fastjson 解析
二、解析Json:
(1)JavaBean
在CODE上查看代码片派生到我的代码片
Class class= JSON.parseObject(jsonString, Class.class);
(2)ListJavaBean
在CODE上查看代码片派生到我的代码片
ListClass class=JSON.parseArray((jsonString, Class.class);
(3)ListString
在CODE上查看代码片派生到我的代码片
ListString listString = JSON.parseArray(jsonString, String.class);
(4)ListMapString,Object
在CODE上查看代码片派生到我的代码片
ListMapString, Object listMap = JSON.parseObject(jsonString, new TypeReferenceListMapString,Object(){});
java 中json.parsearray怎么将结果装换成list
json.parsearray默认是将字符串转换成json数组,其实就是key-value的形式,然后你new一个list,循环add就可以了。
JSON.parseArray(String text, Class clazz),这个方法怎么用?
先构造两个类:
package?com.magicvessel.tool;
public?class?TestData?{
private?String?id;
private?int?arrtibute;
private?int?sort;
public?String?getId()?{
return?id;
}
public?void?setId(String?id)?{
this.id?=?id;
}
public?int?getArrtibute()?{
return?arrtibute;
}
public?void?setArrtibute(int?arrtibute)?{
this.arrtibute?=?arrtibute;
}
public?int?getSort()?{
return?sort;
}
public?void?setSort(int?sort)?{
this.sort?=?sort;
}
}
package?com.magicvessel.tool;
import?java.util.List;
public?class?RecVo?{
private?ListTestData?RecVo;
public?ListTestData?getRecVo()?{
return?RecVo;
}
public?void?setRecVo(ListTestData?recVo)?{
RecVo?=?recVo;
}
}
下面我们来看调用
//先看整个类的用法
RecVo?recVo?=?new?RecVo();
ListTestData?list?=?new?ArrayList();
TestData?testData1?=?new?TestData();
testData1.setArrtibute(28);
testData1.setSort(5);
testData1.setId("L0000002");
TestData?testData2?=?new?TestData();
testData2.setArrtibute(28);
testData2.setSort(9);
testData2.setId("L0000012");
list.add(testData1);
list.add(testData2);
recVo.setRecVo(list);
String?str?=?JSON.toJSONString(recVo);
System.out.println(str);
RecVo?toObj?=?JSON.parseObject(str,?RecVo.class);
System.out.println(toObj.getRecVo().size());
//再看单独一个数据的用法
String?arrJson?=?JSON.toJSONString(list);
System.out.println(arrJson);
ListTestData?arrList?=?JSON.parseArray(arrJson,?TestData.class);
System.out.println(arrList.get(0).getArrtibute());
看一下输出结果
{"recVo":[{"arrtibute":28,"id":"L0000002","sort":5},{"arrtibute":28,"id":"L0000012","sort":9}]}
2
[{"arrtibute":28,"id":"L0000002","sort":5},{"arrtibute":28,"id":"L0000012","sort":9}]
28