Parfois, les données d'objet seront converties en données json pour les besoins du projet. Ce qui suit est une méthode de mise en œuvre personnelle basée sur les besoins du projet.
Convertir la chaîne json en objet java
Convertissez d'abord la chaîne json en objet json, puis convertissez l'objet json en objet java comme montré ci-dessous.
JSONObject obj = new JSONObject().fromObject(jsonStr);//Convertir la chaîne json en objet json
Convertir l'objet json en objet java
Person jb = (Person)JSONObject.toBean(obj,Person.class);//Convertir l'objet json en objet Person
Convertir l'objet Java en chaîne json
Convertissez d'abord l'objet Java en objet json, puis convertissez l'objet json en chaîne json
JSONObject json = JSONObject.fromObject(obj); //Convertir un objet Java en objet json
String str = json.toString();//Convertir un objet json en chaîne
Le format des données doit être dans le projet :
[{"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}]
Le contenu de l'objet de liste dans le projet
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<rootNode.size();i++("".equals(rootNode.get(i).get("preNode" ChildNode(rootNode.get(i).get("node" ( i=0;i<= HashSet<>= HashSet<>JsonNode nameNode = (rootNode.get(i)).get("node"==rootNode.get(i).get("index"=rootNode.get(i).get("status"( j=i+1;j<rootNode.size();j++= (rootNode.get(j)).get("preNode"postNode_set.add( ChildNode((rootNode.get(j)).get("node"( j=0;j<list.size();j++= (rootNode.get(j)).get("node"(!"".equals(rootNode.get(j).get("preNode" ChildNode((rootNode.get(j)).get("preNode"(j>++++ ChildNode("0"++=Node pre_node="9999"<ChildNode> childNodes= HashSet<>( i=0;i<rootNode.size();i++("".equals(rootNode.get(i).get("index" ChildNode(rootNode.get(i).get("preNode"= jsonTest(String s) <Node> nodeList= ArrayList<>==<JsonModel> jsonModels= ArrayList<>( i=1;i<jsonNode.size()-1;i++=jsonNode.get(i).get("index"=jsonNode.get(i).get("status"=jsonNode.get(i).get("node"( j=0;j<jsonNode.get(i).get("preNode").size();j++= jsonNode.get(i).get("preNode").get(j).get("node"=->
Voici les classes d'entités d'objet utilisées
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 }
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 }
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 }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!