プロジェクトのニーズに応じてオブジェクト データが 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 に変換しますstring
JSONObject json = JSONObject.fromObject(obj);//Java オブジェクトを json オブジェクトに変換します
String str = json.toString();//json オブジェクトを string に変換します
プロジェクトで必要です データをフォーマットします:
[{"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}]
プロジェクト内のリストオブジェクトの内容
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= ArrayListNode node="0"<childnode> childNodeList= HashSet( i=0;i<rootnode.size>= HashSetJsonNode nameNode = (rootNode.get(i)).get("node"==rootNode.get(i).get("index"=rootNode.get(i).get("status"( j=i+1;j<rootnode.size>++++ ChildNode("0"++=Node pre_node="9999"<childnode> childNodes= HashSet( i=0;i<rootnode.size> nodeList= ArrayList==<jsonmodel> jsonModels= ArrayList( i=1;i<jsonnode.size></jsonnode.size></jsonmodel></rootnode.size></childnode></rootnode.size></rootnode.size></childnode></node></childnode></childnode></jsonmodel>
使用されるオブジェクトエンティティクラスは次のとおりです


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 }</childnode></childnode></childnode></childnode></childnode></childnode>


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 }
以上がJavaでのオブジェクトとJSON間の変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

メモ帳++7.3.1
使いやすく無料のコードエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 中国語版
中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
