java 實體類與json 實體類集合與jsonArray的相互轉換

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qq_35180232/article/details/79528800
package com.fh.test;

import java.io.IOException;
import java.util.ArrayList;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fh.panghu.entity.User;

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


/**
 *
 * @author fcbird
 * 藉助net.sf.json的第三方jar包幫助類完成實體類與json對象,實體類集合與jsonArray互相轉換
 *
 */
public class TestJsonEntityListMap {
    
    @SuppressWarnings("unchecked")
    public static void getData() {
        
        
        JSONObject objec1t = new JSONObject();
        JSONObject objec2t = new JSONObject();
        JSONArray jsonArray = new JSONArray();
        ArrayList<User> users = new  ArrayList<User>();
        ArrayList<User> users12 = new  ArrayList<User>();
        JsonConfig    jsonConfig =  new JsonConfig();
        ObjectMapper objectMapper=new ObjectMapper();
        User user= new User();            
        User user12= new User();            
        //構造數據
        user.setDdid("ddid");
        user.setMobile("mobile");
        user.setUserid("password");
        user.setPassword("userid");
        user.setUsername("username");
        
        user12.setDdid("ddid1");
        user12.setMobile("mobile1");
        user12.setUserid("password1");
        user12.setPassword("userid1");
        user12.setUsername("username1");
        
        objec1t.put("ddid", "ddid1");
        objec1t.put("mobile", "mobile1");
        objec1t.put("password", "password1");
        objec1t.put("userid", "userid1");
        objec1t.put("username", "username1");    
        
        objec2t.put("ddid", "ddid2");
        objec2t.put("mobile", "mobile2");
        objec2t.put("password", "password2");
        objec2t.put("userid", "userid2");
        objec2t.put("username", "username2");    
        
        users.add(user);
        users.add(user12);
        
        jsonArray.add(objec1t);
        jsonArray.add(objec2t);
            
        //實體轉爲JSON對象
        //實體轉爲JSON對象第一種
        String jsonString1 = JSONSerializer.toJSON(user).toString();
        //實體轉爲JSON對象第二種
        String jsonString2 = JSONObject.fromObject(user).toString();
        //JSON對象轉爲實體
        //JSON對象轉爲實體第一種
        User user1=(User)JSONObject.toBean(objec1t, User.class);
        User user2 = new User();
        try {
            //JSON對象轉爲實體第二種
            user2=objectMapper.readValue(objec1t.toString(), User.class);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        //實體類集合轉爲JSONArray
        String jsonArrayString = JSONArray.fromObject(users, jsonConfig).toString();    

        users12 = (ArrayList<User>) JSONArray.toCollection(jsonArray,User.class);
        
        System.out.println("實體轉爲json1:"+jsonString1);
        System.out.println("實體轉爲json2:"+jsonString2);
        System.out.println("json1轉爲實體:"+user1);
        System.out.println("json2轉爲實體:"+user2);
        System.out.println("實體集合轉爲jsonArray:"+jsonArrayString);
        System.out.println("jsonArray轉爲實體集合:"+users12);
        
    }
    public static void main(String[] args) {
        getData();
    }
}

測試結果截圖:


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