如何在json结构中添加一行。输入JSON由用户提供为html请求,每次我们需要在新JSON中添加日期或任何其他功能并返回为html响应。
实施例: 如果我的json文件是:{name:abc,age:12}那么我的新输出json将是{name:abc,age:12,date:26/09/2017}
CODE:
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被删除只显示日期:(
答案 0 :(得分:0)
您可以在字符串中读取整个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。 我们的想法是将字符串解组为对象,添加参数,然后编组回字符串。
答案 1 :(得分:0)
使用正则表达式的另一种选择: 将last}替换为“,date:”+ date +“}”