将JSON字符串中的每个名称 - 值对分开,以分隔java字符串中的行

时间:2018-01-17 06:45:28

标签: java json gson

我有Java Spring MVC Web Application。我正在尝试实现一个表单提交,其中用户将提交表单,并且将使用表单数据向用户发送电子邮件。我会收到JSON string的表单数据。但使用此数据发送的电子邮件看起来并不可读。我尝试了以下代码来使数据更具可读性,但似乎没有太大区别:

Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(jsonData);
String message = gson.toJson(je);

我的JSON字符串如下所示:

[ { "name": "FirstName", "value": "Abcd" }, { "name": "LastName", "value": "Efgh" }, { "name": "Email", "value": "test.mail@test.com" }, { "name": "PhoneNumber", "value": "9876543210" }, { "name": "Selected Locations", "value": " loc1, loc2, loc3" }, { "name": "Message", "value": "Hi" }, { "name": "g-recaptcha-response", "value": "03AMPJSYULxjYiDRiNxcOSVYxXR9F8dX5pqIYAZ6_F2igAwGvanS4Vh1Lm47ByS2qGELQ9W1h" } ]

我正在寻找一个选项,至少要将名称 - 值对分成不同的行,以便在通过电子邮件收到时以一种可读的方式。有没有办法做到这一点。表单可以是通用的,因此我可能无法将此字符串映射到任何Java对象。

我已经尝试过以下链接,该解决方案对我不起作用: Pretty-Print JSON in Java

我也没有在网上看到很多有用的细节。我试图将每个name-value pair放在生成的字符串的新行中,以便将数据作为电子邮件发送。

0 个答案:

没有答案