JSON数据转换

实例:引入包(引自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());
}
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值