您好,欢迎访问一九零五行业门户网

java中对象与json之间的相互转换

有时为了项目需求,会将对象数据转换成json数据,以下是个人根据项目需求实现的方法。
将json字符串转换为java对象
同样先将json字符串转换为json对象,再将json对象转换为java对象,如下所示。
jsonobject obj = new jsonobject().fromobject(jsonstr);//将json字符串转换为json对象
将json对象转换为java对象
person jb = (person)jsonobject.tobean(obj,person.class);//将建json对象转换为person对象
将java对象转换为json字符串
先将java对象转换为json对象,在将json对象转换为json字符串
jsonobject json = jsonobject.fromobject(obj);//将java对象转换为json对象
string str = json.tostring();//将json对象转换为字符串
   项目中需要将数据格式:
[{node: 0,   index: null,status: null,prenode: null,postnode: [{node: xxx_4},     {node: xxx_3},     {node: xxx_2},     {node: xxx_14}] }, {node: xxx_2,index: index_1,status: 表达式1,prenode: [{node: xxx_0}],postnode: [{node: xxx_5}] }, {node: xxx_14,index: index_4,status: 表达式5,prenode: [{node: xxx_0}],postnode: [{node: xxx_13},     {node: xxx_5}] }, {node: xxx_3,index: index_2,status: 表达式2,prenode: [{node: xxx_0}],postnode: [{node: xxx_5}] }, {node: xxx_4,index: index_3,status: 表达式3,prenode: [{node: xxx_0}],postnode: [{node: xxx_12}] }, {node: xxx_5,index: index_4,status: 表达式4,prenode: [{node: xxx_3},     {node: xxx_2},     {node: xxx_14}],postnode: [{node: xxx_6}] }, {node: xxx_6,index: index_5,status: 表达式6,prenode: [{node: xxx_5}],postnode: [{node: xxx_7}] }, {node: xxx_7,index: index_6,status: 表达式7,prenode: [{node: xxx_6}],postnode: [{node: xxx_8}] }, {node: xxx_8,index: index_4,status: 表达式8,prenode: [{node: xxx_7}],postnode: [{node: xxx_9},     {node: xxx_10}] }, {node: xxx_9,index: index_5,status: 表达式5,prenode: [{node: xxx_8}],postnode: [{node: xxx_11}] }, {node: xxx_10,index: index_7,status: 表达式6,prenode: [{node: xxx_8}],postnode: [{node: xxx_11}] }, {node: xxx_11,index: index_8,status: 表达式7,prenode: [{node: xxx_9},     {node: xxx_10}],postnode: [{node: xxx_12}] }, {node: xxx_12,index: index_8,status: 表达式7,prenode: [{node: xxx_11},     {node: xxx_4}],postnode: [{node: xxx_13}] }, {node: xxx_13,index: ,status: ,prenode: [{node: xxx_14},     {node: xxx_12}],postnode: [] }, {node: 9999,index: null,status: null,prenode: [{node: xxx_14},     {node: xxx_12}],postnode: null}]
项目中list对象内容
 1 jsonmodel{node='xxx_2', prenode='', index='index_1', status='表达式1'} 2 jsonmodel{node='xxx_14', prenode='', index='index_4', status='表达式5'} 3 jsonmodel{node='xxx_3', prenode='', index='index_2', status='表达式2'} 4 jsonmodel{node='xxx_4', prenode='', index='index_3', status='表达式3'} 5 jsonmodel{node='xxx_5', prenode='xxx_2', index='index_4', status='表达式4'} 6 jsonmodel{node='xxx_5', prenode='xxx_3', index='index_4', status='表达式5'} 7 jsonmodel{node='xxx_5', prenode='xxx_14', index='index_4', status='表达式5'} 8 jsonmodel{node='xxx_6', prenode='xxx_5', index='index_5', status='表达式6'} 9 jsonmodel{node='xxx_7', prenode='xxx_6', index='index_6', status='表达式7'}10 jsonmodel{node='xxx_8', prenode='xxx_7', index='index_4', status='表达式8'}11 jsonmodel{node='xxx_9', prenode='xxx_8', index='index_5', status='表达式5'}12 jsonmodel{node='xxx_10', prenode='xxx_8', index='index_7', status='表达式6'}13 jsonmodel{node='xxx_11', prenode='xxx_10', index='index_8', status='表达式7'}14 jsonmodel{node='xxx_11', prenode='xxx_9', index='index_8', status='表达式8'}15 jsonmodel{node='xxx_12', prenode='xxx_11', index='index_8', status='表达式7'}16 jsonmodel{node='xxx_12', prenode='xxx_4', index='index_8', status='表达式8'}17 jsonmodel{node='xxx_13', prenode='xxx_14', index='', status='表达式13'}18 jsonmodel{node='xxx_13', prenode='xxx_12', index='', status='表达式14'}
testjson() <jsonmodel> list= arraylist<>== jsonmodel(xxx_2,,index_1,表达式1= jsonmodel(xxx_14,,index_4,表达式5= jsonmodel(xxx_3,,index_2,表达式2= jsonmodel(xxx_4,,index_3,表达式3= jsonmodel(xxx_5,xxx_2,index_4,表达式4= jsonmodel(xxx_5,xxx_3,index_4,表达式5= jsonmodel(xxx_5,xxx_14,index_4,表达式5= jsonmodel(xxx_6,xxx_5,index_5,表达式6= jsonmodel(xxx_7,xxx_6,index_6,表达式7= jsonmodel(xxx_8,xxx_7,index_4,表达式8= jsonmodel(xxx_9,xxx_8,index_5,表达式5= jsonmodel(xxx_10,xxx_8,index_7,表达式6= jsonmodel(xxx_11,xxx_10,index_8,表达式7= jsonmodel(xxx_11,xxx_9,index_8,表达式8= jsonmodel(xxx_12,xxx_11,index_8,表达式7= jsonmodel(xxx_12,xxx_4,index_8,表达式8= jsonmodel(xxx_13,xxx_14,,表达式13= jsonmodel(xxx_13,xxx_12,,表达式14->string str=jsonnode rootnode =<childnode> prenode_set=<childnode> postnode_set=<node> nodelist= arraylist<>node node=0<childnode> childnodelist= hashset<>( i=0;i 以下是所用到的对象实体类
 1 package com.yf.af.biz.test; 2  3 /** 4  * created by chen on 2017/7/14. 5  */ 6 public class jsonmodel { 7     private string node; 8     private string prenode; 9     private string index;10     private string status;11 12     public string getnode() {13         return node;14     }15 16     public void setnode(string node) {17         this.node = node;18     }19 20     public string getprenode() {21         return prenode;22     }23 24     public void setprenode(string prenode) {25         this.prenode = prenode;26     }27 28     public string getindex() {29         return index;30     }31 32     public void setindex(string index) {33         this.index = index;34     }35 36     public string getstatus() {37         return status;38     }39 40     public void setstatus(string status) {41         this.status = status;42     }43 44     public jsonmodel(string node, string prenode, string index, string status) {45         this.node = node;46         this.prenode = prenode;47         this.index = index;48         this.status = status;49     }50 51     public jsonmodel() {52     }53 54     @override55     public string tostring() {56         return jsonmodel{ +57                 node=' + node + '\'' +58                 , prenode=' + prenode + '\'' +59                 , index=' + index + '\'' +60                 , status=' + status + '\'' +61                 '}';62     }63 }
view code
 1 package com.yf.af.biz.test; 2  3 import java.util.list; 4 import java.util.set; 5  6 /** 7  * created by chen on 2017/7/15. 8  */ 9 public class node {10     private string node;11     private string index;12     private string status;13 14     private set<childnode> prenode;15 16     private set<childnode> postnode;17 18     public string getnode() {19         return node;20     }21 22     public void setnode(string node) {23         this.node = node;24     }25 26     public string getindex() {27         return index;28     }29 30     public void setindex(string index) {31         this.index = index;32     }33 34     public string getstatus() {35         return status;36     }37 38     public void setstatus(string status) {39         this.status = status;40     }41 42     public set<childnode> getprenode() {43         return prenode;44     }45 46     public void setprenode(set<childnode> prenode) {47         this.prenode = prenode;48     }49 50     public set<childnode> getpostnode() {51         return postnode;52     }53 54     public void setpostnode(set<childnode> postnode) {55         this.postnode = postnode;56     }57 58     @override59     public string tostring() {60         return node{ +61                 node=' + node + '\'' +62                 , index=' + index + '\'' +63                 , status=' + status + '\'' +64                 , prenode= + prenode +65                 , postnode= + postnode +66                 '}';67     }68 69 70     public node() {71     }72 }
view code
 1 package com.yf.af.biz.test; 2  3 /** 4  * created by chen on 2017/7/15. 5  */ 6 public class childnode { 7     private string node; 8  9     public string getnode() {10         return node;11     }12 13     public void setnode(string node) {14         this.node = node;15     }16 17     public childnode(string node) {18         this.node = node;19     }20 21     public childnode() {22     }23 }
view code
以上就是java中对象与json之间的相互转换的详细内容。
其它类似信息

推荐信息