实例:引入包(引自struts-2.1.8.1\lib)
json-lib-2.1.jar commons-collections-3.2.jar commons-beanutils-1.7.0.jar commons-lang-2.3.jar commons-logging-1.0.4.jar ezmorph-1.0.3.jar public class ActionName { private String namespace; private String actionname; get、set略 } public class Authorization{ private int category; private List<ActionName> list; get、set略 } |
json-lib-2.1.jar
commons-collections-3.2.jar
commons-beanutils-1.7.0.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
ezmorph-1.0.3.jar
public class ActionName {
private String namespace;
private String actionname;
get、set略
}
?public class Authorization{
private int category;
private List<ActionName> list;
get、set略
}
?
1)对象转换成json字符串
public class PojoToJson {
public static void main(String[] args) {
ActionName o=new ActionName();
o.setActionname("test");
o.setNamespace("/space");
JSONObject jo = JSONObject.fromObject(o);
System.err.println(jo.toString());
?
ActionName o1=new ActionName();
o1.setActionname("test1");
o1.setNamespace("/space");
List<ActionName> list=new ArrayList<ActionName>();
list.add(o);
list.add(o1);
Authorization a=new Authorization();
a.setCategory(1);
a.setList(list);
JSONObject json = JSONObject.fromObject(a);
System.err.println(json.toString());
}
}
2)json字符串转换成对象
?
authorization.txt内容
authorization=[{"category"
:"1","list":[{"namespace"
:"/user","actionname" //需要转义
:"login"},{"namespace"
:"/user","actionname"
:"register"}]},{"category"
:"2","list":[{"namespace"
:"/user","actionname"
:"listUser"},{"namespace"
:"/user","actionname"
:"updateUser"}]}]
public class JsonToPojo {
public static void main(String[] args) throws IOException {
Properties properties = new Properties();
properties.load(new FileInputStream("E:\\authorization.txt"));
String authorization=(String) properties.get("authorization");
System.err.println("jsonString:"+authorization);
JSONArray ja = JSONArray.fromObject(authorization);
Map<String, Class<ActionName>>
classMap = new HashMap<String, Class<ActionName>>();
classMap.put("list", ActionName.class);
List<Authorization>
list = JSONArray.toList(ja, Authorization.class,classMap);
for(Authorization c:list){
System.err.println("category:"+c.getCategory());
for(ActionName n:c.getList()){
System.err.println("actionname:"+n.getActionname());
System.err.println("namespace:"+n.getNamespace());
}
}
}
}