java - 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());
}
在控制台中,我永远不会到达“得到对象?” 打印声明。我究竟做错了什么?
解决方案
sessionScope 变量是否已设置?用于sesScope.containsKey("configJSON")
验证。如果它是一个空的 JSON 对象,它将是“{}”而不是 null。如果您从 REST 服务或 Notes 文档作为 JSON 加载,它可能是字符串而不是 JsonJavaObject。要解析 JSON 字符串,您可以使用com.ibm.commons.util.io.json.JsonParser
. JsonJavaObject 的构造函数需要一个 Map,不确定这是否是传入的内容。
推荐阅读
- java - 片段中的 OnClickListener() 崩溃
- javascript - 复制+粘贴时如何自动格式化文本
- javascript - 滚动到显示第一个验证失败消息的页面部分
- c# - MongoDB C# 驱动程序,通过在模型的属性中投影列表来获取元素
- node.js - nodejs multer 将存储的图像检索到客户端
- javascript - 每次我尝试使用这种方法打印 pdf 它总是会产生空白 pdf
- python - 为什么我会收到“NameError: name 'df' is not defined”?
- java - 如何更新 Jess 规则引擎中的事实?
- sql-server - 无法打开登录请求的数据库“邮件”。登录失败。用户登录失败
- python - df.describe() 类型突然改变 现在缺少值