1

我有一个创建 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"}

我怎样才能打印整个?谢谢

4

2 回答 2

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");
于 2013-03-18T07:46:57.123 回答
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);
于 2013-06-04T16:25:30.353 回答