我如何在请求消息中添加新行并作为响应发回
How can i add new line in request message and send back as response
我如何在 json structure.Input JSON 中附加一行由用户作为 html 请求提供,每次我们需要添加日期或任何其他新 JSON 和 return 中的功能作为 html 响应。
示例:
如果我的 json 文件是:{name: abc, age: 12} 那么我的新输出 json 将是 {name: abc, age: 12, date:26/09/2017}
代码:
InputStream inputStream = request.getInputStream();
String text = IOUtils.toString(inputStream, StandardCharsets.UTF_8.name());
JsonObject convertedObject = new Gson().fromJson(text, JsonObject.class);
convertedObject.addProperty("Date", "26/09/2017");
PrintWriter pw = response.getWriter();
pw.println(convertedObject.toString());
通过上面的代码,现有的 json 仅在日期显示时被删除:(
您可以读取字符串中的整个 json 并使用任何 JSON 解析库,如 jettison 或 jackson。
我将仅举一个使用 jettison 的例子:
String inp = "{\"key1\": \"value\", \"key2\": {\"key\": \"value\"}}";
JSONObject x = new JSONObject(inp);
System.out.println(x);//the toString method gives the object back
System.out.println(x.get("key2"));//you can get any key's value by passsing its key
//setting date here:
x.putOpt("date", "26/09/2017");
System.out.println(x);//you can return the object by doing a toString() of the JSONObject.
您也可以使用 Jackson 的 ObjectMapper 创建一个 HashMap,或者创建一个您可以将对象映射到的 POJO。
这个想法是将字符串解组为对象,添加一个参数,然后编组回字符串。
正则表达式的另一种选择:
将最后一个 } 替换为 ", date:" + date +"}"
Replace Last Occurrence of a character in a string
我如何在 json structure.Input JSON 中附加一行由用户作为 html 请求提供,每次我们需要添加日期或任何其他新 JSON 和 return 中的功能作为 html 响应。
示例: 如果我的 json 文件是:{name: abc, age: 12} 那么我的新输出 json 将是 {name: abc, age: 12, date:26/09/2017}
代码:
InputStream inputStream = request.getInputStream();
String text = IOUtils.toString(inputStream, StandardCharsets.UTF_8.name());
JsonObject convertedObject = new Gson().fromJson(text, JsonObject.class);
convertedObject.addProperty("Date", "26/09/2017");
PrintWriter pw = response.getWriter();
pw.println(convertedObject.toString());
通过上面的代码,现有的 json 仅在日期显示时被删除:(
您可以读取字符串中的整个 json 并使用任何 JSON 解析库,如 jettison 或 jackson。 我将仅举一个使用 jettison 的例子:
String inp = "{\"key1\": \"value\", \"key2\": {\"key\": \"value\"}}";
JSONObject x = new JSONObject(inp);
System.out.println(x);//the toString method gives the object back
System.out.println(x.get("key2"));//you can get any key's value by passsing its key
//setting date here:
x.putOpt("date", "26/09/2017");
System.out.println(x);//you can return the object by doing a toString() of the JSONObject.
您也可以使用 Jackson 的 ObjectMapper 创建一个 HashMap,或者创建一个您可以将对象映射到的 POJO。 这个想法是将字符串解组为对象,添加一个参数,然后编组回字符串。
正则表达式的另一种选择: 将最后一个 } 替换为 ", date:" + date +"}"
Replace Last Occurrence of a character in a string