繁体   English   中英

将字符串输入JSON时遇到问题

[英]Trouble with getting strings into JSON

我的servlet从/为文章( priceidcountname )接收/加载多个参数。

虽然将它们保存在会话中以用于其他目的,但我想将其显示在购物车中。

所以我的想法是像这样将所有值放入一个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]但是没有用。

请问你能帮帮我吗?

第一个问题, why JSON object is printing empty

ToJSON类中缺少JSON构建器/解析器以访问属性/字段的getters & setters ,这就是为什么将其打印为空对象的原因。

第二个问题, how do I access JSON properties
JSON表示形式是本地的字符串表示形式,您无法将部分字符串读取为jsn[1]

为了读取JSON对象属性,您可以使用可用的任何首选开放源代码解析器库(如Jacksons,Gson等)将其转换为POJO。然后使用标准的Java getter / setters访问POJO属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM