文档:http://json-lib.sourceforge.net/usage.html
一、包
Maven的pom.xml中添加依赖:
<span style="font-size:14px;"> <!--json-lib-->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency></span>
二、创建实体类
<span style="font-size:14px;">public class User
{
public String username;
public String password;
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
}</span>
三、生成JSONObject的方法
public static void main(String[] args) {
<span style="font-size:14px;">// TODO Auto-generated method stub
User user1=new User();
user1.setPassword("password");
user1.setUsername("name1");
User user2=new User();
user2.setPassword("password");
user2.setUsername("name1");
Map<Object,Object> map = new HashMap<Object,Object>();
map.put("name", "name3");
map.put("password", "password3");
List<User> list = new ArrayList<User>();
list.add(user1);
list.add(user2);
JSONObject json=new JSONObject();
json.put("user", user1);
json.put("user", user2);
json.put("map", map);
json.put("userlist", list);
System.out.println(json); </span>
}
输出(同名不可重复添加):
{
"user":{"password":"password","username":"name1"},
"map":{"password":"password3","name":"name3"},</span>
"userlist":[{"password":"password","username":"name1"},{"password":"password","username":"name1"}]
}
四、生成JSONArray的方法
public static void main(String[] args) {
// TODO Auto-generated method stub
User user1=new User();user1.setPassword("password");
user1.setUsername("name1");
User user2=new User();
user2.setPassword("password");
user2.setUsername("name1");
Map<Object,Object> map = new HashMap<Object,Object>();
map.put("name", "name3");
map.put("password", "password3");
List<Object> list = new ArrayList<Object>();
list.add(user1);
list.add(user2);
list.add(map);
JSONArray json=JSONArray.fromObject(list);<span style="white-space:pre"> </span>
json.add(user1);
System.out.println(json);
}
输出:
[{"password":"password","username":"name1"},{"password":"password","username":"name1"},{"password":"password3","name":"name3"},
{"password" :"password","username":"name1"}]
五、解析
JSONObject json1=JSONObject.fromObject(str);
JSONArray list1= json.getJSONArray("userlist");
System.out.println("输出list");
for(int i=0;i<list1.size();i++){
System.out.println(list1.getJSONObject(i).getString("username"));
System.out.println(list1.getJSONObject(i).getString("password"));
}
System.out.println("输出user");
System.out.println(json.getJSONObject("user").getString("username"));
System.out.println(json.getJSONObject("user").getString("password"));
六、过滤
public static void main(String[] args) {
// TODO Auto-generated method stub
User user1=new User();
user1.setPassword("password");
user1.setUsername("name1");
User user2=new User();
user2.setPassword("password2");
user2.setUsername("name2");
List<User> list = new ArrayList<User>();
list.add(user1);
list.add(user2);
JsonConfig config=new JsonConfig();
config.setExcludes(new String[]{"password"});
JSONArray json=JSONArray.fromObject(list, config);
System.out.println(json);
}
输出:
[{"username":"name1"},{"username":"name2"}]