JSON-LIB 学习笔记

JSON –LIB 完成json字符串的自动生成
java 的 工具集 完成的功能就是对json字符串的处理
配合使用AJAX 太happy了
Android…等用的都是

sid:332575101
title:”擦”
content:”我擦”

导包
json.jar
ezmorph.jar
commons-lang.jar
commons-collections.jar
commons-beanutils.jar (主要对bean 就是对java 类的工具集 就可以把一个person对象的属性全自动赋值 )
commons-logging.jar

这些包 都在struts2 框架里 lib 里


建个test 导入Junit addlib


1转换一个对象到字符串 名值对 一想就是map
JSONObject .formObject(map).toString() 这个工具把map转成JSON字符串
/**
* {"parentId":88888,"itemId":9999,"itemText":"岳元璞"}
* 转换一个对象,到 json字符串
*/
@Test
public void testJson1(){
Map map = new HashMap();
map.put("parentId", 88888);
map.put("itemId", 9999);
map.put("itemText", "岳元璞");

String jsonStr = JSONObject.fromObject(map).toString();
System.out.println(jsonStr);
}
打印结果
{"parentId":8888,"itemText":"岳元璞","itemId":9999}

2转换成一个普通的对象
User 首先你的domain包里都有这个类
/**
* 转换一个普通Java对象
* User
* {"id":1111,"username":岳元璞,"password":1234}
*/
@Test
public void testJson2(){
User user = new User();
user.setId(1111);
user.setUsername("岳元璞");
user.setPassword("1234");

String jsonStr = JSONObject.fromObject(user).toString();
System.out.println(jsonStr);
}
{"id":1111,"username":"岳元璞","password":"1234"}

3从集合进行转换成JSON字符串
[{“id”: 1111,”userna”},{“id” : ,},{ },{ } ]
/**
* [{"id":1111,"username":"岳元璞","password":"1234"},{},{},{},{}]
*/
@Test
public void testJson3(){
List<User> userList = new ArrayList<User>();
for(int i=0;i<10;i++){
User user = new User();

user.setId(1111 + i);
user.setUsername("岳元璞" + i);
user.setPassword("1234" + i);
userList.add(user);
}
String jsonStr = JSONArray.fromObject(userList).toString();
System.out.println(jsonStr);
}
[{"id":1111,"username":"岳元璞0","password":"12340"},{"id":1112,"username":"岳元璞1","password":"12341"},{"id":1113,"username":"岳元璞2","password":"12342"},{"id":1114,"username":"岳元璞3","password":"12343"},{"id":1115,"username":"岳元璞4","password":"12344"},{"id":1116,"username":"岳元璞5","password":"12345"},{"id":1117,"username":"岳元璞6","password":"12346"},{"id":1118,"username":岳元璞7","password":"12347"},{"id":1119,"username":"岳元璞8","password":"12348"},{"id":1120,"username":"岳元璞9","password":"12349"}]
4Myeclipse Ctrl shift +f 快捷键 格式化的
多对一 先把组弄出来 确保你有Group这个类
/**
* [{"id":1111,"username":"岳元璞","password":"1234"},{},{},{},{}]
*/
@Test
public void testJson4(){

Group group = new Group();
group.setId(123);
group.setName("通信093");

Person person = new Person();
person.setId(1111);
person.setUsername("岳元璞");
person.setPassword("123");
person.setGroup(group);


String jsonStr = JSONObject.fromObject(person).toString();
System.out.println(jsonStr);
}
{"id":1111,"username":"岳元璞","group":{"id":123,"name":"通信093"},"password":"123"}
5对象嵌套
{success:true,data:{id:1111,username:”mm”}}
/**
* {success:true,data:{id:111,username:" 岳元璞"}}
*/
@Test
public void testJson5(){
Map map = new HashMap();
map.put("success", true);

Map dataMap = new HashMap();
dataMap.put("id", 111);
dataMap.put("username", "岳元璞");

map.put("data", dataMap);

String jsonStr = JSONObject.fromObject(map).toString();
System.out.println(jsonStr);
}
{"data":{"id":111,"username":"岳元璞"},"success":true}


6对象 数组套了又套
/**
*
* {success:true,data:[{id:111,username:" 岳元璞"},{},{},{}]}
*/
@Test
public void testJson6(){
Map map = new HashMap();
map.put("success", true);

//Map dataMap = new HashMap();

List<User> userList = new ArrayList<User>();
for(int i=0;i<3;i++){
User user = new User();

user.setId(1111 + i);
user.setUsername("岳元璞" + i);
user.setPassword("1234" + i);
userList.add(user);
}
//dataMap.put("data", userList);
map.put("data", userList);

String jsonStr = JSONObject.fromObject(map).toString();
System.out.println(jsonStr);
}
}

{"data":[{"id":1111,"username":"岳元璞0","password":"12340"},{"id":1112,"username":"岳元璞1","password":"12341"},{"id":1113,"username":"岳元璞2","password":"12342"}],"success":true}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值