首页 > 解决方案 > Map中的Json对象,如何在java中获取它?

问题描述

在 XPages 应用程序中,我在 sessionScope 变量中有 JSON 格式的应用程序配置。

我想知道如何在 Java 中再次获取此配置?

我试过了:

Map<String, Object> sesScope = ExtLibUtil.getSessionScope();
if (null != sesScope.get("configJSON")){
    JsonJavaObject jsonObject = new JsonJavaObject();
    jsonObject = (JsonJavaObject) sesScope.get("configJSON");
    System.out.println("got object?");
    System.out.println("json " + jsonObject.toString());
}   

在控制台中,我永远不会到达“得到对象?” 打印声明。我究竟做错了什么?

标签: javajsonxpages

解决方案


sessionScope 变量是否已设置?用于sesScope.containsKey("configJSON")验证。如果它是一个空的 JSON 对象,它将是“{}”而不是 null。如果您从 REST 服务或 Notes 文档作为 JSON 加载,它可能是字符串而不是 JsonJavaObject。要解析 JSON 字符串,您可以使用com.ibm.commons.util.io.json.JsonParser. JsonJavaObject 的构造函数需要一个 Map,不确定这是否是传入的内容。


推荐阅读