我的servlet从某文章(price
,id
,count
,name
)接收/加载多个参数。
虽然它们被保存在会话中以用于其他目的,但我想将它们显示在购物车中。
所以我的想法是像这样将所有值放入jso
n
{"id":1, "prductName":"article1"}
但是我的json
总是空着。
我有两种方法:
String prname = request.getParameter("name");
String anz = String.valueOf(session.getAttribute("Anzahl"));
String prid = request.getParameter("id");
String price = request.getParameter("price");
这些是我的参数:
第一次尝试:
class ToJson{
String prname1 = String.valueOf(session.getAttribute("prname"));
String anz1 = String.valueOf(session.getAttribute("Anzahl"));
String prid1 = String.valueOf(session.getAttribute("id"));
String price1 = String.valueOf(session.getAttribute("price"));
}
ToJson obj = new ToJson();
Jsonb jsonb = JsonbBuilder.create();
String jsn1 = jsonb.toJson(obj);
最后显示:{}
第二次尝试:
ArrayList<String> ar = new ArrayList<String>();
ar.add(prname);
ar.add(price);
ar.add(prid);
ar.add(anz);
ToJson obj = new ToJson();
Jsonb jsonb = JsonbBuilder.create();
String jsn = jsonb.toJson(ar);
最后显示:["P1neu","25","1","145"]
它不是我想要的格式,并且我也不知道如何在此处访问单独的值,我尝试了jsn[1]
,但没有用。
可以帮我吗?
答案 0 :(得分:0)
第一个问题,why JSON object is printing empty
:
您在
getters & setters
类中缺少ToJSON
,JSON Builder / Parser无法访问属性/字段,这就是为什么将其打印为空对象的原因。
对于第二个问题,how do I access JSON properties
:
JSON表示法本身就是字符串表示法,您不能将部分字符串读为jsn[1]
。
要读取JSON对象属性,您可以使用可用的任何首选开放源代码解析器库(例如Jacksons,Gson等)将其转换为POJO,然后使用标准的Java getter / setters访问POJO属性。