1

如何在 JAVA 中读取这个复杂的 JSON 字符串?

  "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 回答