简体   繁体   English

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

[英]How to read complex JSON string which contains escape characters and coordinate values

How to read this complex JSON string in JAVA? 如何在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}

This is not even complete. 这甚至还不完整。 But I want to read only needed things like cenetr hoist based on this rectangle and coordinate values. 但是我只想阅读需要的东西,例如基于此矩形和坐标值的cenetr起重机 Any idea how to parse this? 知道如何解析吗?

Below example can be used: 可以使用以下示例:

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

In this DATA is the complex Json string and JsonObject is the class which contains Variable to match the jspn string. 在此DATA中,是复杂的Json字符串,而JsonObject是包含Variable以匹配jspn字符串的类。

Variable names are case sensitive means it should match with json elements. 变量名称区分大小写,这意味着它应与json元素匹配。

In your case Jsonobject.java will contain below variables: 在您的情况下,Jsonobject.java将包含以下变量:

Array of graphSpace

rectangle
contents etc

Probable you should look in to stackexchange forum: 可能您应该访问stackexchange论坛:

Converting JSON to Java 将JSON转换为Java

read a JSON object in java 读取Java中的JSON对象

Use a JSON parser . 使用JSON解析器 JSON is too complex to easily parse correctly in an ad-hoc way. JSON太复杂,无法以即席方式轻松正确地进行解析。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM