如何读取包含转义字符和坐标值的复杂JSON字符串

时间:2013-03-18 04:50:07

标签: java json

如何在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}

这甚至都不完整。但是我想只根据这个矩形和坐标值来阅读像 cenetr hoist 这样的东西。知道如何解析这个吗?

3 个答案:

答案 0 :(得分:1)

可以使用以下示例:

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

在这个DATA中是复杂的Json字符串,JsonObject是包含变量以匹配jspn字符串的类。

变量名称区分大小写表示它应与json元素匹配。

在您的情况下,Jsonobject.java将包含以下变量:

Array of graphSpace

rectangle
contents etc

答案 1 :(得分:0)

可能你应该查看stackexchange论坛:

Converting JSON to Java

read a JSON object in java

答案 2 :(得分:0)

使用JSON parser。 JSON过于复杂,无法以临时方式正确解析。