简体   繁体   English

Java从转义的JSON字符串解析

[英]Java parsing from escaped json string

There are many threads related to this, but I can't solve my issue. 有很多与此相关的主题,但是我无法解决问题。

I get this string from parsing an iterable using GSON. 我通过使用GSON解析可迭代对象得到了此字符串。

Iterable<ParametrosProveedores> proveedoresList;

proveedoresList = proveedoresRepository.findAll(); //From spring repository

String jsonString = gson.toJson(proveedoresList);

jsonString value is: jsonString值为:

[{\"id\":1,\"proveedor\":\"CALIXTA\",\"unaVia\":true,\"dosVias\":true,\"plazasSi\":\"todas\",\"plazasNo\":\"\",\"turnoUnaVia\":false,\"turnoDosVias\":false},{\"id\":2,\"proveedor\":\"MOVILE\",\"unaVia\":true,\"dosVias\":true,\"plazasSi\":\"51,52\",\"plazasNo\":\"\",\"turnoUnaVia\":false,\"turnoDosVias\":false},{\"id\":3,\"proveedor\":\"TWILIO\",\"unaVia\":true,\"dosVias\":true,\"plazasSi\":\"todas\",\"plazasNo\":\"51\",\"turnoUnaVia\":false,\"turnoDosVias\":false},{\"id\":4,\"proveedor\":\"OTRO\",\"unaVia\":true,\"dosVias\":true,\"plazasSi\":\"todas\",\"plazasNo\":\"\",\"turnoUnaVia\":false,\"turnoDosVias\":false}]

Which is a json array. 这是一个json数组。 Is there really no way to parse from that string without removing escapes manually? 如果不手动删除转义符,真的没有办法从该字符串进行解析吗?

All I want to do is: 我要做的就是:

JSONArray jsonArray = parseFrom(jsonString);

Is it possible? 可能吗?

Since you are using a generic in the form of an Iterable<T> , you may need to use: 由于您使用的是Iterable<T>形式的泛型,因此您可能需要使用:

String jsonString = gson.toJson(proveedoresList, typeOfSrc);

Where typeOfSrc is the type of your proveedoresList . 其中typeOfSrc是你的类型proveedoresList that way gson knows how to serialize the object properly. 这样, gson知道如何正确地序列化对象。

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

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