您好,登錄后才能下訂單哦!
這篇文章主要講解了“Json與JavaBean怎么轉換”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Json與JavaBean怎么轉換”吧!
maven依賴:
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.22</version> </dependency>
舉例:
import java.util.ArrayList; import java.util.Date; import java.util.List; import com.alibaba.fastjson.JSON; /** * 如果對象的屬性沒有被賦值,那么將對象轉換為json串時: * * 字符串類型的屬性: 默認會忽略該屬性 * Integer類型的屬性: 默認會忽略該屬性 * Date類型的屬性: 默認會忽略該屬性 * int類型的屬性: 默認會被轉換為0 */ public class TestFastJson { public static void main(String[] args) { User obj1 = new User(); obj1.setAge(1); obj1.setName("jack"); User obj2 = new User(); obj2.setAge(2); obj2.setName("tom"); obj2.setTime(new Date()); ArrayList<User> arrayObj = new ArrayList<User>(); arrayObj.add(obj1); arrayObj.add(obj2); // 將對象轉換為json串 String jsonString1 = JSON.toJSONString(obj1); // {"age":1,"name":"jack"} String jsonString2 = JSON.toJSONString(arrayObj); // [{"age":1,"name":"jack"},{"age":2,"name":"tom","time":1503289848086}] // 將json串轉換為對象類型 User user = JSON.parseObject(jsonString1, User.class); List<User> userList = JSON.parseArray(jsonString2, User.class); } }
maven依賴:
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.3</version> <classifier>jdk15</classifier> </dependency>
舉例:
import java.util.ArrayList; import java.util.Date; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; /** * 如果對象的屬性沒有被賦值,那么將對象轉換為json串時: * * 字符串類型的屬性: 默認會被轉換為空串"" * int、Integer類型的屬性: 默認會被轉換為0 * Date類型的屬性: 默認會被轉換為null * */ public class TestSfJson { public static void main(String[] args) { // 1.普通對象轉換為json串 User obj1 = new User(); obj1.setName("jack"); obj1.setAge(17); JSONObject jsonObj1 = JSONObject.fromObject(obj1); String jsonStr1 = jsonObj1.toString(); System.out.println(jsonStr1); // {"age":17,"name":"jack"} // 2.設置Date類型屬性值的處理策略 Employee obj2 = new Employee(); obj2.setName("jack"); obj2.setAge(17); obj2.setBirthday(new Date()); JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor()); JSONObject jsonObj2 = JSONObject.fromObject(obj2,jsonConfig); String jsonStr2 = jsonObj2.toString(); System.out.println(jsonStr2); // {"age":17,"birthday":"2017-08-21 11:04:47","name":"jack"} // 3.數組對象轉換為json串 User user1 = new User(); user1.setName("jack"); user1.setAge(17); User user2 = new User(); user2.setName("tom"); user2.setAge(18); List<User> obj3 = new ArrayList<User>(); obj3.add(user1); obj3.add(user2); // 或:User[] obj3 = {user1,user2}; JSONArray jsonObj3 = JSONArray.fromObject(obj3); String jsonStr3 = jsonObj3.toString(); System.out.println(jsonStr3); // [{"age":17,"name":"jack"},{"age":18,"name":"tom"}] // 4.直接構造JSONObject對象 JSONObject jsonObj = new JSONObject(); jsonObj.put("name", "jack"); jsonObj.put("age", 17); String jsonStr = jsonObj.toString(); System.out.println(jsonStr); // {"name":"jack","age":17} } } import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValueProcessor; public class JsonDateValueProcessor implements JsonValueProcessor { private String format = "yyyy-MM-dd HH:mm:ss"; public JsonDateValueProcessor() { super(); } public JsonDateValueProcessor(String format) { super(); this.format = format; } [@Override](https://my.oschina.net/u/1162528) public Object processArrayValue(Object paramObject, JsonConfig paramJsonConfig) { return process(paramObject); } [@Override](https://my.oschina.net/u/1162528) public Object processObjectValue(String paramString, Object paramObject, JsonConfig paramJsonConfig) { return process(paramObject); } private Object process(Object value) { if (value instanceof Date) { SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.CHINA); return sdf.format(value); } return value == null ? "" : value.toString(); } }
感謝各位的閱讀,以上就是“Json與JavaBean怎么轉換”的內容了,經過本文的學習后,相信大家對Json與JavaBean怎么轉換這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。