我有一个创建JsonObject的servlet。
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty("name", "john");
jsonObject.addProperty("name", "Smith");
jsonObject.addProperty("name", "Ram");
HttpSession session=request.getSession(true);
session.setAttribute("jsonObject", jsonObject);
RequestDispatcher rd = request.getRequestDispatcher("viewpage.jsp");
rd.forward(request, response);
这是我的JSP页面
<%@page import="com.google.gson.JsonObject"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>View Json</title>
<%
JsonObject jsonObject=(JsonObject)session.getAttribute("jsonObject");
%>
</head>
<body>
<h6>JSON View</h6>
<br>
<%=jsonObject%>
</body>
</html>
但是当我运行这个时,JSP文件只打印最后一个数据。以下是输出
JSON View
{"name":"Ram"}
我怎么打印整个?感谢
答案 0 :(得分:1)
jsonObject.addProperty("name", "john");
jsonObject.addProperty("name", "Smith");
jsonObject.addProperty("name", "Ram");
这里你使用相同的键作为“名称”。因此值是重写。尝试使用不同的名称,如
jsonObject.addProperty("name1", "john");
jsonObject.addProperty("name2", "Smith");
jsonObject.addProperty("name3", "Ram");
答案 1 :(得分:1)
您可以尝试创建JsonArray。 喜欢这个
JsonArray arr = new JsonArray() ;
JsonObject obj1 = new JsonObject()
obj1 .addProperty("name", "john");
JsonObject obj2 = new JsonObject()
obj2 .addProperty("name", "smith");
JsonObject obj3 = new JsonObject()
obj3 .addProperty("name", "ram");
arr.add(obj1);
arr.add(obj2);
arr.add(obj3);