国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java對象與json對象間的相互轉(zhuǎn)換的方法

2019-11-26 13:18:24
字體:
供稿:網(wǎng)友

工程中所需的jar包,因為在網(wǎng)上不太好找,所以我將它放到我的網(wǎng)盤里了,如有需要隨便下載。

點擊下載

1.簡單的解析json字符串

首先將json字符串轉(zhuǎn)換為json對象,然后再解析json對象,過程如下。

JSONObject jsonObject = JSONObject.fromObject(jsonStr);

根據(jù)json中的鍵得到它的值

String name = jsonObject.getString("name");int num = jsonObject.getInt("num");String sex = jsonObject.getString("sex");int age = jsonObject.getInt("age");

2.將json字符串轉(zhuǎn)換為java對象

同樣先將json字符串轉(zhuǎn)換為json對象,再將json對象轉(zhuǎn)換為java對象,如下所示。

JSONObject obj = new JSONObject().fromObject(jsonStr);//將json字符串轉(zhuǎn)換為json對象

將json對象轉(zhuǎn)換為java對象

Person jb = (Person)JSONObject.toBean(obj,Person.class);//將建json對象轉(zhuǎn)換為Person對象

3.將java對象轉(zhuǎn)換為json字符串

先將java對象轉(zhuǎn)換為json對象,在將json對象轉(zhuǎn)換為json字符串

JSONObject json = JSONObject.fromObject(obj);//將java對象轉(zhuǎn)換為json對象String str = json.toString();//將json對象轉(zhuǎn)換為字符串

完整代碼如下:

package baz.parse;  import java.util.ArrayList; import java.util.List;  import net.sf.json.JSON; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JSONSerializer; import baz.bean.Person;  public class ParseJson {      private String jsonStr;      public ParseJson() {        }      public ParseJson(String str){     this.jsonStr = str;   }   /**    * 解析json字符串    */   public void parse(){     JSONObject jsonObject = JSONObject.fromObject(jsonStr);     String name = jsonObject.getString("name");     int num = jsonObject.getInt("num");     String sex = jsonObject.getString("sex");     int age = jsonObject.getInt("age");          System.out.println(name + " " + num + " " + sex + " " + age);   }   //將json字符串轉(zhuǎn)換為java對象   public Person JSON2Object(){     //接收{(diào)}對象,此處接收數(shù)組對象會有異常     if(jsonStr.indexOf("[") != -1){       jsonStr = jsonStr.replace("[", "");     }     if(jsonStr.indexOf("]") != -1){       jsonStr = jsonStr.replace("]", "");     }     JSONObject obj = new JSONObject().fromObject(jsonStr);//將json字符串轉(zhuǎn)換為json對象     Person jb = (Person)JSONObject.toBean(obj,Person.class);//將建json對象轉(zhuǎn)換為Person對象     return jb;//返回一個Person對象   }     } 
package baz.bean;  public class Person {      private String name;   private int num;   private String sex;   private int age;      public Person() {     // TODO Auto-generated constructor stub   }    public Person(String name, int num, String sex, int age) {     super();     this.name = name;     this.num = num;     this.sex = sex;     this.age = age;   }      public String getName() {     return name;   }    public void setName(String name) {     this.name = name;   }    public int getNum() {     return num;   }    public void setNum(int num) {     this.num = num;   }    public String getSex() {     return sex;   }    public void setSex(String sex) {     this.sex = sex;   }    public int getAge() {     return age;   }    public void setAge(int age) {     this.age = age;   }    } 

將java對象轉(zhuǎn)換為json字符串

package baz.cons;  import net.sf.json.JSONObject;  /**  * 將java對象轉(zhuǎn)換為json字符串  * @author Administrator  *  */ public class ConsJson {      public ConsJson() {     // TODO Auto-generated constructor stub   }      public String Object2Json(Object obj){     JSONObject json = JSONObject.fromObject(obj);//將java對象轉(zhuǎn)換為json對象     String str = json.toString();//將json對象轉(zhuǎn)換為字符串          return str;   } } 

測試類:

package baz.test;  import java.util.List;  import baz.bean.Person; import baz.cons.ConsJson; import baz.parse.ParseJson;   public class Test {   public static void main(String[] args) {          //將字符串轉(zhuǎn)換為json對象,然后根據(jù)建得到相應(yīng)的值     ParseJson pj = new ParseJson("{/"name/":/"gu/",/"num/":123456,/"sex/":/"male/",/"age/":24}");     pj.parse();          //將一個json字符串轉(zhuǎn)換為java對象     Person p = pj.JSON2Object();     System.out.println("Name:" + p.getName());     System.out.println("Num:" + p.getNum());     System.out.println("Sex:" + p.getSex());     System.out.println("age:" + p.getAge());          //將一個java對象轉(zhuǎn)換為Json字符串     Person p1 = new Person("gu1",123,"male",23);     ConsJson cj = new ConsJson();     String str1 = cj.Object2Json(p1);     System.out.println(str1);        }  } 

測試輸出如下:

gu 123456 male 24
Name:gu
Num:123456
Sex:male
age:24

{"age":23,"name":"gu1","num":123,"sex":"male"}

這只是最簡單使用方法,其他的使用我會在后期中更新。以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 岑溪市| 厦门市| 礼泉县| 若尔盖县| 文化| 萍乡市| 买车| 江北区| 湖南省| 万荣县| 昔阳县| 关岭| 武安市| 大荔县| 仁布县| 正安县| 鸡西市| 青龙| 称多县| 崇仁县| 岐山县| 武川县| 信丰县| 临沂市| 韩城市| 托里县| 左权县| 台北县| 皮山县| 武功县| 河南省| 铅山县| 本溪| 高唐县| 孝昌县| 清河县| 苍山县| 青田县| 金寨县| 盖州市| 古田县|