Json 和複雜 Bean 之間的轉化
使用json-lib
如果不使用maven 需要下面4個jar
commons-beanutils-1.8.3.jar
commons-lang-2.3.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
使用mavenPom.xml
<!--Start json--> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <span style="color:#ff0000;"> <classifier>jdk15</classifier></span> </dependency>
json-lib 有jdk13 和jdk15 兩個版本,使用時請指明使用哪個版本。
package json; /** * Created with IntelliJ IDEA. * User: Alvin * Date: 14-8-6 * Time: 上午10:24 * To change this template use File | Settings | File Templates. */ import bean.Student; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import bean.Dormitory; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class JsonUtil { /* * 普通型別、List、Collection等都是用JSONArray解析 * * Map、自定義型別是用JSONObject解析 * 可以將Map理解成一個物件,裡面的key/value對可以理解成物件的屬性/屬性值 * 即{key1:value1,key2,value2......} * * 1.JSONObject是一個name:values集合,通過它的get(key)方法取得的是key後對應的value部分(字串) * 通過它的getJSONObject(key)可以取到一個JSONObject,--> 轉換成map, * 通過它的getJSONArray(key) 可以取到一個JSONArray , * * */ //一般陣列轉換成JSON public String Array2Json(){ String[] array ={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; JSONArray jsonArray = JSONArray.fromObject(array); return jsonArray.toString(); } //Collection物件轉換成JSON public String list2Json(){ List list = new ArrayList(); list.add( "first" ); list.add( "second" ); JSONArray jsonArray = JSONArray.fromObject( list ); return jsonArray.toString(); } //Map轉換成json, 是用jsonObject public String map2Json(){ Map map = new HashMap(); map.put( "name", "json" ); map.put( "bool", Boolean.TRUE ); map.put( "int", new Integer(1) ); map.put( "arr", new String[]{"a","b"} ); map.put( "func", "function(i){ return this.arr[i]; }" ); JSONObject jsonObject = JSONObject.fromObject(map); return jsonObject.toString(); } // Bean 2 Json public String bean2Json(){ List<Student> students = new ArrayList<Student>(); Student st1 = new Student(2111212049,"張三",25,"
[email protected]"); Student st2 = new Student(2111212049,"李四",25,"[email protected]"); Student st3 = new Student(2111212049,"王五",25,"[email protected]"); Student st4 = new Student(2111212049,"趙六",25,"[email protected]"); students.add(st1); students.add(st2); students.add(st3); students.add(st4); Dormitory dormitory = new Dormitory("東13#",206,students); JSONObject jsonObject = JSONObject.fromObject(dormitory); return jsonObject.toString(); } public Object json2Bean(String json){ JSONObject jsonObject = JSONObject.fromObject(json); Dormitory dormitory = null; if(jsonObject != null) { <span style="color:#ff0000;"> Map<String, Class> m = new HashMap<String, Class>(); m.put("students", Student.class);</span> dormitory = (Dormitory) jsonObject.toBean(jsonObject,Dormitory.class,m); } return dormitory; } }
package bean;
import java.util.ArrayList;
import java.util.List;
/**
* Created with IntelliJ IDEA.
* User: Alvin
* Date: 14-8-6
* Time: 上午10:46
* To change this template use File | Settings | File Templates.
*/
public class Dormitory {
private String address;
private int num;
private Student student = new Student();
private List<Student> students ;
public Dormitory() {
}
public Dormitory(String address, int num, List<Student> students) {
this.address = address;
this.num = num;
this.students = students;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public List<Student> getStudents() {
return students;
}
public void setStudents(List<Student> students) {
this.students = students;
}
}
package bean;
/**
* Created with IntelliJ IDEA.
* User: Alvin
* Date: 14-8-1
* Time: 下午4:13
* To change this template use File | Settings | File Templates.
*/
public class Student {
private int num;
private String name;
private int age;
private String email;
public Student() {
}
public Student(int num, String name, int age, String email) {
this.num = num;
this.name = name;
this.age = age;
this.email = email;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
複雜bean 的轉化 注意如下幾點
1。為轉化的類構建無參的構造方法;
2.注意上面紅色部分程式碼,需要為複雜bean 裡面的bean傳入bean的型別。
相關推薦
Json 和複雜 Bean 之間的轉化
使用json-lib 如果不使用maven 需要下面4個jar commons-beanutils-1.8.3.jar commons-lang-2.3.jar ezmorph-1.0.6.jar json-lib-2.4-jdk15.jar 使用maven P
project.json 和 csproj 屬性之間的映射
ont some form ati put git ast property using 作者 Nate McMaster .NET Core 工具的開發過程中實施了一項重要的設計更改,即不再支持 project.json 文件,而是將 .NET Core 項目轉移
JSON和JAVA物件之間的轉換小結
JSON(JAVAScript Object Notation, JS 物件簡譜) 是一種輕量級的資料交換格式。它基於歐洲計算機協會制定的js規範的一個子集,採用完全獨立於程式語言的文字格式來儲存和表示資料。 1.為了便於轉換,需要
JS中如何使用EL表示式中的物件 JSON和JS物件之間的互轉
JS中如何使用EL表示式中的物件 2017年09月25日 15:33:09 lhpnba 閱讀數:4859 1.js中使用el表示式要加雙引號或單引號:'${list}' 2.js變數獲取el表示式中的物件:不能直接獲取,直接獲取得到的是該物件的
關於JSON和XML格式之間的轉換
1.JSON轉XML /** * json字串轉換成xml格式字串 * * @return */ public static String json2Xml() { String json = "{\"business\":{\"body\":{\"fpdm\":\"發
json和物件的相互轉化
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">使用com.fasterxml.jackson.databind.Obj
C# .net中json字符串和對象之間的轉化方法
tools ade href start 反射 serialize lan serializa serial http://blog.csdn.net/xuexiaodong009/article/details/46998069 json作為作為一種最常用的數據,
轉:json和list、bean之間轉換總結
//方法一,將json解析後賦給單獨的元素 String jstr="{'json':'jsonvalue','bool':true,'int':1,'double':'20.5'}";JSONObject json=JSONObject.
JS中實現JSON對象和JSON字符串之間的相互轉換
獲取 bsp com .com ins 對象 ie7 strong line 對於主流的瀏覽器(比如:firefox,chrome,opera,safari,ie8+),瀏覽器自己提供了JSON對象,其中的parse和stringify方法實現了JSON對象和JSON字符串
JAVA裏面json和java對象之間的相互轉換
users str ons from ini java 互轉 json字符串 lis 1. 把java 對象列表轉換為json對象數組,並轉為字符串 JSONArray array = JSONArray.fromObject(list); String js
java web 基礎 json 和 javaBean轉化
bubuko AI this set 實體 .json setname 自動 AS github地址: https://github.com/liufeiSAP/JavaWebStudy 實體類: package com.study.demo.domain; imp
json字符串和json對象的相互轉化
gif obj color java span type code 常用 json 開發經常要用到json字符串和json對象的相互轉化,這裏總結常用的兩個函數。JSON.parse(‘字符串‘),JSON.stringify(‘json對象‘) 1 <scrip
Json字串和js物件之間的轉換
Json字串和js物件之間的轉換 JSON.stringify()將js物件轉為json字串 JSON.parse()將JSON字串轉為js物件 補充(json物件和json字串的區別) json 字串 var str1 = '{ "nam
Flutter 聯網和JSON轉換成Bean
Flutter 聯網和JSON轉換成Bean Flutter的聯網分為HttpClient和dio兩種。HttpClient是dart io中的HttpClient發起的請求,但HttpClient本身功能較弱,很多常用功能都不支援。dart io官網文件. dio是一個強大的Da
json的四大函式介紹(json資料和python資料之間的轉換)
json的四大函式介紹 在我們進行後端開發和爬蟲開發的時候,常會遇到json資料和python資料的轉換, 而這些轉換雖然簡單,但是卻很容易讓人產生混淆和困惑, 接下來我將對json資料和python資料格式的轉換做一個小的介紹,希望對各位讀者能夠起到一定的幫助… 1.loa
spring_(6)bean之間的關係之繼承和依賴
Bean的繼承 **Spring允許繼承bean的配置,**被繼承的bean稱為父bean。繼承這個父Bean的Bean稱為子Bean. 子Bean從父Bean中繼承配置,包括Bean的屬性配置. 子Bean也可以覆蓋從父Bean繼承過來的配置. 父Bean可
Json和Bean間的序列化和反序列化(JSONObject、Gson、FastJson的使用)
json格式校驗 日常開發經常涉及到和json的互動,以下原因會常常會使json格式錯誤: 1、json串的非數字型的鍵值沒有雙引號 2、json中存在\t這樣的表符,這個比較難發現 3、json中缺少{}或[]導致結構不完整 可以通過FE助手或網頁版的json校驗json格
List和二維陣列之間轉化及初始化
ArrayList resultsList = new ArrayList(); String[] result = { "cr_tx_amt",(f_fare", "counts" }; resultsList.add(result); String[][] resul
JSON資料與物件之間的快速轉化----原生org.json實現
java物件和json資料之間的轉換方式一般有兩種,一種是引用第三方的jar包,如Gson(谷歌)、Fastjson(阿里)、Jackson等,這種方式優點是語法精練,可以實現一句話轉化,但缺點是會引入龐大的第三方庫,第二種是直接使用Java自帶的org.json解析,但這個
有關Unicode和非Unicode之間的轉化問題
自昨天開了部落格之後,就打算今天晚上寫點什麼來作為我的第一篇部落格(處女作)。 經過百般考量,小編決定寫寫有關Unicode和非Unicode編碼下,一些型別轉化的問題。(其實是小編對這整整一個晚上的程式碼除錯,對Unicode和非Unicode