當前位置:成語大全網 - 書法字典 - 如何將這樣的json字符串轉換成對象

如何將這樣的json字符串轉換成對象

1.簡單解析json字符串

首先將json字符串轉換成json對象,然後解析json對象。過程如下。

JSON object JSON object = JSON object . from object(JSON str);

[java]查看純文本

& ltpre & gt& lt/pre & gt;& ltspan style="white-space:pre " >& lt/span>。

& ltpre & gt& lt/pre & gt;

根據json中的鍵獲取它的值。

string name = JSON object . getstring(" name ");

int num = JSON object . getint(" num ");

string sex = JSON object . getstring(" sex ");

int age = JSON object . getint(" age ");

2.將json字符串轉換成java對象

同樣,先把json字符串轉換成json對象,再把json對象轉換成java對象,如下所示。

JSONObject obj = new JSONObject()。from object(JSON str);//將json字符串轉換成json對象。

將json對象轉換成java對象

Person JB =(Person)JSON object . tobe an(obj,Person . class);//將json對象轉換為Person對象。

3.將java對象轉換成json字符串

先把java對象轉換成json對象,再把json對象轉換成json字符串。

JSON object JSON = JSON object . from object(obj);//將java對象轉換成json對象。

string str = JSON . tostring();//將json對象轉換為字符串

完整的代碼如下:

[java]查看純文本

包baz.parse

導入Java . util . ArrayList;

導入Java . util . list;

導入net . SF . JSON . JSON;

導入net . SF . JSON . JSON array;

導入net . SF . JSON . JSON object;

導入net . SF . JSON . JSON serializer;

導入baz . bean . person;

公共類ParseJson {

私有字符串jsonStr

公共ParseJson() {

}

公共ParseJson(字符串str){

this.jsonStr = str

}

/**

*解析json字符串

*/

公共void parse(){

JSON object JSON object = JSON object . from object(JSON str);

string name = JSON object . getstring(" name ");

int num = JSON object . getint(" num ");

string sex = JSON object . getstring(" sex ");

int age = JSON object . getint(" age ");

System.out.println(姓名+ " " +人數+ " " +性別+ " " +年齡);

}

//將json字符串轉換成java對象。

public Person JSON object(){

//接收{}對象,其中接收數組對象會有異常。

if(jsonStr.indexOf("[")!= -1){

jsonStr = jsonStr.replace("["," ");

}

if(jsonStr.indexOf("]")!= -1){

jsonStr = jsonStr.replace("]"," ");

}

JSONObject obj = new JSONObject()。from object(JSON str);//將json字符串轉換成json對象。

Person JB =(Person)JSON object . tobe an(obj,Person . class);//將json對象轉換為Person對象。

返回JB;//返回壹個人對象。

}

}

[java]查看純文本

包baz.bean

公共類人員{

私有字符串名稱;

私有int數;

私弦性;

私人年齡;

公共人物(){

// TODO自動生成的構造函數存根

}

公眾人物(字符串名稱,整數,字符串性別,整數年齡){

super();

this.name = name

this.num = num

this.sex = sex

this.age =年齡;

}

公共字符串getName() {

返回名稱;

}

public void setName(字符串名){

this.name = name

}

public int getNum() {

退貨數量;

}

public void setNum(int num) {

this.num = num

}

公共字符串getSex() {

回報性;

}

public void setSex(String sex) {

this.sex = sex

}

public int getAge() {

回歸年齡;

}

公共無效存儲(整數){

this.age =年齡;

}

}

將java對象轉換成json字符串

[java]查看純文本

打包baz.cons

導入net . SF . JSON . JSON object;

/**

*將java對象轉換成json字符串。

* @作者管理員

*

*/

公共類合並{

公共聯盟(){

// TODO自動生成的構造函數存根

}

公共字符串Object2Json(Object obj){

JSON object JSON = JSON object . from object(obj);//將java對象轉換成json對象。

string str = JSON . tostring();//將json對象轉換為字符串

返回字符串;

}

}

測試類別:

[java]查看純文本

包baz.test

導入Java . util . list;

導入baz . bean . person;

導入baz . cons . consojson;

導入baz . parse . parse JSON;

公共類測試{

公共靜態void main(String[] args) {

//將字符串轉換成json對象,然後根據建築物得到相應的值。

ParseJson pj = new ParseJson("{\ "姓名\":\ "顧\ ",\ "人數\":123456,"性別\":\ "男\ ",\ "年齡\ ":24 });

pj . parse();

//將json字符串轉換成java對象。

人p = pj。JSON 2 object();

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對象轉換成Json字符串。

Person p1 =新人(" gu1 ",123,"男",23);

consojson CJ = new consojson();

字符串str1 = cj。object 2 JSON(p 1);

system . out . println(str 1);

}

}

測試輸出如下:

古123456男24

姓名:顧

編號:123456

性別:男性

年齡:24歲

{ "年齡":23,"姓名":gu1 ","編號":123,"性別":男" }