1

この複雑な JSON 文字列を Java で読み取る方法は?

  "graphSpace": "[[{\"rectangle\":\"{\\n  \\\"minX\\\": 0.0,\\n  \\\"minY\\\": 0.0,\\n  \\\"maxX\\\": 0.0,\\n  \\\"maxY\\\": 0.0\\n}\",\"contents\":\"\",\"rights\":\"[]\",\"lefts\":\"[]\",\"tops\":\"[]\",\"downs\":\"[]\",\"annotation\":\"{\\n  \\\"id\\\": 504,\\n  \\\"type\\\": \\\"line\\\"\\n}\"},{\"rectangle\":\"{\\n  \\\"minX\\\": 0.0,\\n  \\\"minY\\\": 0.0,\\n  \\\"maxX\\\": 0.0,\\n  \\\"maxY\\\": 0.0\\n}\",\"contents\":\"\",\"rights\":\"[]\",\"lefts\":\"[{\\\"id\\\":504}]\",\"tops\":\"[{\\\"id\\\":504}]\",\"downs\":\"[]\",\"annotation\":\"{\\n  \\\"id\\\": 242,\\n  \\\"type\\\": \\\"line\\\"\\n}\"}],[{\"rectangle\":\"{\\n  \\\"minX\\\": 430.0,\\n  \\\"minY\\\": 146.0,\\n  \\\"maxX\\\": 940.0,\\n  \\\"maxY\\\": 197.0\\n}\",\"contents\":\"Center Hoist Co.\",\"rights\":\"[{\\\"id\\\":36},{\\\"id\\\":38},{\\\"id\\\":52},{\\\"id\\\":57}]\",\"lefts\":\"[]\",\"tops\":\"[{\\\"id\\\":504}]\",\"downs\":\"[{\\\"id\\\":13},{\\\"id\\\":16},{\\\"id\\\":19},{\\\"id\\\":22},{\\\"id\\\":25},{\\\"id\\\":27},{\\\"id\\\":29},{\\\"id\\\":96},{\\\"id\\\":99},{\\\"id\\\":101},{\\\"id\\\":110},{\\\"id\\\":115},{\\\"id\\\":141},{\\\"id\\\":136},{\\\"id\\\":167},{\\\"id\\\":188},{\\\"id\\\":204},{\\\"id\\\":235},{\\\"id\\\":237},{\\\"id\\\":291},{\\\"id\\\":293},{\\\"id\\\":344},{\\\"id\\\":346},{\\\"id\\\":397},{\\\"id\\\":399},{\\\"id\\\":558},{\\\"id\\\":626}]\",\"annotation\":\"{\\n  \\\"id\\\": 10,\\n  \\\"type\\\": \\\"line\\\"\\n}\"},{\"rectangle\":\"{\\n  \\\"minX\\\": 1285.0,\\n  \\\"minY\\\": 143.0,\\n  \\\"maxX\\\": 1532.0,\\n  \\\"maxY\\\": 195.0\\n}\",\"contents\":\"4sO^ Employee\",\"rights\":\"[{\\\"id\\\":52},{\\\"id\\\":57}]\",\"lefts\":\"[{\\\"id\\\":10}]\",\"tops\":\"[{\\\"id\\\":504}]\",\"downs\":\"[{\\\"id\\\":38},{\\\"id\\\":41},{\\\"id\\\":43},{\\\"id\\\":93},{\\\"id\\\":96},{\\\"id\\\":99},{\\\"id\\\":101},{\\\"id\\\":120},{\\\"id\\\":146},{\\\"id\\\":172},{\\\"id\\\":193},{\\\"id\\\":209},{\\\"id\\\":214},{\\\"id\\\":254},{\\\"id\\\":310},{\\\"id\\\":363},{\\\"id\\\":416},{\\\"id\\\":572},{\\\"id\\\":604},{\\\"id\\\":626}]\",\"annotation\":\"{\\n  \\\"id\\\": 36,\\n  \\\"type\\\": \\\"line\\\"\\n}\"},{\"rectangle\":\"{\\n  \\\"minX\\\": 1394.0,\\n  \\\"minY\\\": 194.0,\\n  \\\"maxX\\\": 1487.0,\\n  \\\"maxY\\\": 221.0\\n}\",\"contents\":\"Owned\",\"rights\":\"[{\\\"id\\\":36}]\",\"lefts\":\"[{\\\"id\\\":36},{\\\"id\\\":13},{\\\"id\\\":10}]\",\"tops\":\"[{\\\"id\\\":10},{\\\"id\\\":36},{\\\"id\\\":504}]\",\"downs\":\"[{\\\"id\\\":41},{\\\"id\\\":43},{\\\"id\\\":93},{\\\"id\\\":96},{\\\"id\\\":99},{\\\"id\\\":101},{\\\"id\\\":120},{\\\"id\\\":146},{\\\"id\\\":172},{\\\"id\\\":193},{\\\"id\\\":214},{\\\"id\\\":626}]\",\"annotation\":\"{\\n  \\\"id\\\": 38,\\n  \\\"type\\\": \\\"line\\\"\\n}\"},{\"rectangle\":\"{\\n  \\\"minX\\\": 1833.0,\\n  \\\"minY\\\": 163.0,\\n  \\\"maxX\\\": 1990.0,\\n  \\\"maxY\\\": 193.0\\n}\",\"contents\":\"Invoice #\",\"rights\":\"[{\\\"id\\\":57}]\",\"lefts\":\"[{\\\"id\\\":36},{\\\"id\\\":10}]\",\"tops\":\"[{\\\"id\\\":10},{\\\"id\\\":36},{\\\"id\\\":504}]\",\"downs\":\"[{\\\"id\\\":63},{\\\"id\\\":74},{\\\"id\\\":86},{\\\"id\\\":93},{\\\"id\\\":96},{\\\"id\\\":99},{\\\"id\\\":125},{\\\"id\\\":151},{\\\"id\\\":198},{\\\"id\\\":224},{\\\"id\\\":548},{\\\"id\\\":577},{\\\"id\\\":614},{\\\"id\\\":626}]\",\"annotation\":\"{\\n  \\\"id\\\": 52,\\n  \\\"type\\\": \\\"line\\\"\\n}\"},{\"rectangle\":\"{\\n  \\\"minX\\\": 2226.0,\\n  \\\"minY\\\": 159.0,\\n  \\\"maxX\\\": 2411.0,\\n  \\\"maxY\\\": 192.0\\n}\",\"contents\":\"00760287\",\"rights\":\"[]\",\"lefts\":\"[{\\\"id\\\":52},{\\\"id\\\":36},{\\\"id\\\":10}]\",\"tops\":\"[{\\\"id\\\":10},{\\\"id\\\":36},{\\\"id\\\":504}]\",\"downs\":\"[{\\\"id\\\":68},{\\\"id\\\":79},{\\\"id\\\":86},{\\\"id\\\":130},{\\\"id\\\":156},{\\\"id\\\":198},{\\\"id\\\":229},{\\\"id\\\":282},{\\\"id\\\":338},{\\\"id\\\":391},{\\\"id\\\":444},{\\\"id\\\":582},{\\\"id\\\":619},{\\\"id\\\":626}]\",\"annotation\":\"{\\n  \\\"id\\\": 57,\\n  \\\"type\\\": \\\"line\\\"\\n}\"}],[{\"rectangle\":\"{\\n  \\\"minX\\\": 438.0,\\n  \\\"minY\\\": 209.0,\\n  \\\"maxX\\\": 837.0,\\n  \\\"maxY\\\": 245.0\\n}\",\"contents\":\"Hydraulic Equipment\",\"rights\":\"[{\\\"id\\\":38}]\",\"lefts\":\"[]\",\"tops\":\"[{\\\"id\\\":10},{\\\"id\\\":504}]\",\"downs\":\"[{\\\"id\\\":16},{\\\"id\\\":19},{\\\"id\\\":22},{\\\"id\\\":25},{\\\"id\\\":27},{\\\"id\\\":29},{\\\"id\\\":96},{\\\"id\\\":99},{\\\"id\\\":101},{\\\"id\\\":110},{\\\"id\\\":115},{\\\"id\\\":141},{\\\"id\\\":136},{\\\"id\\\":167},{\\\"id\\\":188},{\\\"id\\\":204},{\\\"id\\\":235},{\\\"id\\\":237},{\\\"id\\\":291},{\\\"id\\\":293},{\\\"id\\\":344},{\\\"id\\\":346},{\\\"id\\\":397},{\\\"id\\\":399},{\\\"id\\\":558},{\\\"id\\\":626}]\",\"annotation\":\"{\\n  \\\"id\\\": 13,\\n  \\\"type\\\": \\\"line\\\"\\n}\"}],[{\"rectangle\":\"{\\n  \\\"minX\\\": 441.0,\\n  \\\"minY\\\": 261.0,\\n  \\\"maxX\\\": 724.0,\\n  \\\"maxY\\\": 289.0\\n}\",\"contents\":\"4782 Bourne Dr.\",\"rights\":\"[{\\\"id\\\":43},{\\\"id\\\":41},{\\\"id\\\":63},{\\\"id\\\":68}]\",\"lefts\":\"[]\",\"tops\":\"[{\\\"id\\\":13},{\\\"id\\\":10},{\\\"id\\\":504}]\",\"downs\":\"[{\\\"id\\\":19},{\\\"id\\\":22},{\\\"id\\\":25},{\\\"id\\\":27},{\\\"id\\\":29},{\\\"id\\\":96},{\\\"id\\\":99},{\\\"id\\\":101},{\\\"id\\\":110},{\\\"id\\\":115},{\\\"id\\\":141},{\\\"id\\\":136},{\\\"id\\\":167},{\\\"id\\\":188},{\\\"id\\\":204},{\\\"id\\\":235},{\\\"id\\\":237},{\\\"id\\\":291},{\\\"id\\\":293},{\\\"id\\\":344},{\\\"id\\\":346},{\\\"id\\\":397},{\\\"id\\\":399},{\\\"id\\\":558},{\\\"id\\\":626}]\",\"annotation\":\"{\\n  \\\"id\\\": 16,\\n  \\\"type\\\": \\\"line\\\"\\n}\"},{\"rectangle\":\"{\\n  \\\"minX\\\": 1296.0,\\n  \\\"minY\\\": 284.0,\\n  \\\"maxX\\\": 1539.0,\\n  \\\"maxY\\\": 313.0\\n}\",\"contents\":\"Registered\",\"rights\":\"[{\\\"id\\\":63}

これも完全ではありません。しかし、この長方形と座標値に基づいて、中心ホイストのような必要なものだけを読みたいと思っています。これを解析する方法はありますか?

4

3 に答える 3

1

以下の例を使用できます。

 JsonObject obj= gson.fromJson(DATA,JsonObject.class);

この DATA には複雑な Json 文字列があり、JsonObject は jspn 文字列に一致する変数を含むクラスです。

変数名は大文字と小文字が区別されるため、json 要素と一致する必要があります。

あなたの場合、 Jsonobject.java には以下の変数が含まれます。

Array of graphSpace

rectangle
contents etc
于 2013-03-18T04:58:02.010 に答える
0

おそらく、stackexchange フォーラムを参照する必要があります。

JSON から Java への変換

Java で JSON オブジェクトを読み取る

于 2013-03-18T04:52:06.653 に答える
0

JSON パーサーを使用します。JSON は複雑すぎて、アドホックな方法で簡単に正しく解析できません。

于 2013-03-18T04:53:19.787 に答える