JAVA轉JOSN格式

JAVA------JSON:

對應的JSON包導入對應的項目文件:


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
 * JavaBean,List,Map轉成json格式
 * @author allen
 *
 */
public class JSON2 {

	public static void main(String[] args){
		User user = new User(); 
		user.setName("cxl"); 
		user.setPassword("1234"); 
		
		JSONArray jsonArray = JSONArray.fromObject(user);  //數組:轉化爲JSON格式:[{"name":"cxl","password":"1234"}]
		JSONObject jsonObject = JSONObject.fromObject(user);//對象:轉化爲JSON格式:{"name":"cxl","password":"1234"}
		System.out.println("JSON-Array:"+jsonArray);
		System.out.println("JSON-Object:"+jsonObject);
		
		//List集合轉爲JSONArray格式
		List<User> users = new ArrayList<User>(); 
		User user1 = new User(); 
		user1.setName("cxl"); 
		user1.setPassword("1234"); 
		User u = new User(); 
		u.setName("lhl"); 
		u.setPassword("1234"); 
		users.add(user); 
		users.add(u); 
		
		JSONArray jsonsArrayList = JSONArray.fromObject(users); 
		System.out.println("jsons-Array-List:"+jsonsArrayList);
		
		//LIST集合轉化爲JSONObject
		JSONObject jsonObjList = new JSONObject(); 
		jsonObjList.put("users", users); 
		jsonObjList.put("u", u); 
		System.out.println("json-Object-List"+jsonObjList);
		
		
		//MAP
		Map<String,Object> map = new HashMap<String,Object>(); 
		map.put("users", users); 
		map.put("u", u); 
		//JSONArray
		JSONArray jsonMapArray = JSONArray.fromObject(map);
		System.out.println("JSON-ARRAY-MAP:"+jsonMapArray);
		
		//JSONObject
		JSONObject jsonMapObject = JSONObject.fromObject(map); 
		System.out.println("JSON-Object-Map:"+jsonMapObject);
	}
}

對應的結果:

JSON-Array:[{"name":"cxl","password":"1234"}]

JSON-Object:{"name":"cxl","password":"1234"}
jsons-Array-List:[{"name":"cxl","password":"1234"},{"name":"lhl","password":"1234"}]
json-Object-List{"users":[{"name":"cxl","password":"1234"},{"name":"lhl","password":"1234"}],"u":{"name":"lhl","password":"1234"}}
JSON-ARRAY-MAP:[{"u":{"name":"lhl","password":"1234"},"users":[{"name":"cxl","password":"1234"},{"name":"lhl","password":"1234"}]}]
JSON-Object-Map:{"u":{"name":"lhl","password":"1234"},"users":[{"name":"cxl","password":"1234"},{"name":"lhl","password":"1234"}]}


JSON ---轉爲對應JAVA格式;

@Test
	public void testJsonArray(){
		String jsonArray = "[{'name':'cxl','password':'1234'}]";
		JSONArray jsonArray1 = JSONArray.fromObject(jsonArray);
		//數組裏面存儲的是User對象
		for (int i = 0; i < jsonArray1.size(); i++) {   
            
            JSONObject object = (JSONObject) jsonArray1.get(i);  
              
            User user = (User)JSONObject.toBean(object,User.class);  
              
            System.out.println(user.getName()+" "+user.getPassword());  
        }  
	}
	
	@Test
	public void testJsonObject(){
		String jsonObject = "{name:'cxl',password:'1234'}";
		JSONObject jsonObject1 = JSONObject.fromObject(jsonObject);
		User user = (User) JSONObject.toBean(jsonObject1, User.class);
		 System.out.println(user.getName()+" "+user.getPassword());  
	}
	
	@Test
	public void testJsonArrayList(){
		String jsonArrayList = "[{name:'cxl',password:1234},{name:'lhl',password:'1234'}]";
		
		JSONArray arrays = JSONArray.fromObject(jsonArrayList);
		List<User> users = new ArrayList<User>();
		for (int i = 0; i < arrays.size(); i++) {   
            
            JSONObject object = (JSONObject) arrays.get(i);  
              
            User user = (User)JSONObject.toBean(object,User.class);  
              
            users.add(user);
        } 
		
		for(int i= 0;i<users.size();i++){
			User user =  users.get(i);
			System.out.println(user.getName());
		}
	}
	
	@Test
	public void testJsonObjectList(){
		String jsonObjectList = "{users:[{name:'cxl',password:'1234'},{name:'lhl',password:'1234'}]}";
		JSONObject jsonObject = JSONObject.fromObject(jsonObjectList);
		List<User> users  = new ArrayList<User>();
		for(Iterator it = jsonObject.keys();it.hasNext();){
			String key = (String) it.next();
			
			JSONArray jsonArray = jsonObject.getJSONArray(key);
			if(jsonArray.isArray()){
			for(int i = 0;i < jsonArray.size();i++){
				JSONObject jsonObject1 = (JSONObject) jsonArray.get(i);
				User user = (User) JSONObject.toBean(jsonObject1,User.class);
				users.add(user);
			}
			}
		}
		
		for(int i= 0;i<users.size();i++){
			User user =  users.get(i);
			System.out.println(user.getName());
		}
	}

轉MAP的處理方法:

public static Map<String,Object> parseJSON2Map(String jsonStr){
		ListOrderedMap map = new ListOrderedMap();
		JSONObject json = JSONObject.fromObject(jsonStr);
		for(Object k : json.keySet()){
			Object v = json.get(k);
			if(v instanceof JSONArray){
				List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
				Iterator<JSONObject> it = ((JSONArray)v).iterator();
				while(it.hasNext()){
					JSONObject json2 = it.next();
					list.add(parseJSON2Map(json2.toString()));
					}
				map.put(k.toString(),list);
			}else{
				map.put(k.toString(), v);
			}
		}
		return map;
	}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章