1

JsonObjectを作成するサーブレットがあります。

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

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 に答える
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 に答える