java后台json传递,后台json传递

json除了可以用于前台传递,还可用于后台之间传递。它可以传递List,Map,Bean等类型的数据。

例如:

User u1=new User();

u1.setUsername("zy");

u1.setPassword("123");

User u2=new User();

u2.setUsername("msl");

u2.setPassword("456");

List list = new ArrayList(); //把两个对象放进list中

list.add(u1);

list.add(u2);

JSONArray jsonArray = JSONArray.fromObject( list ); //把list放进json数组

Map map = new HashMap();

map.put("message", "111");

map.put("users", jsonArray); //把json数组做为一个值放进Map中

JSONObject jsonObject = JSONObject.fromObject(map); //把map放进json对象中

PrintWriter out = response.getWriter();

out.print(jsonObject); // 传递json

?

????? 传递的json格式为: {"message":"111","users":[{"password":"123","username":"zy"},{"password":"456","username":"msl"}]}

?

?

???????? 在接收端的java文件中取:

?

???????? returnJson是从输入流中得到的json格式的字符串。输出为:

?????? {"message":"111","users":[{"password":"123","username":"zy"},?? {"password":"456","username":"msl"}]}

?

?

if(returnJson != null && returnJson != ""){

String strJson = returnJson.replace("?(", "").replace(")", "").replace(";", "");

if(strJson.startsWith("{")){

JSONObject jsonObject = JSONObject.fromObject(strJson);

JSONArray jsonArray = JSONArray.fromObject(jsonObject.get("users"));

for (int i = 0, len = jsonArray.size(); i < len; i++) {

JSONObject jsonUser = jsonArray.getJSONObject(i);

User vo = (User)JSONObject.toBean(jsonUser, User.class);

System.out.println(vo.getUsername()+":"+vo.getPassword());

}

}

}

?

????????? ps: 在这里通过toBean的方法把json对象转换成了java对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值