java - XStream 解析没有根节点的 JSON

标签 java json xstream

我目前正在使用 XStream 反序列化 JSON,它运行良好。但是,当我有如下所示的 JSON 字符串时

{
    key1: { an_object: { something: 'foobar' } },
    key2: { another_object: { data: 'hi' }
}

最值得注意的是它没有根节点,我不确定如何解析它。基本上,我想要 DROP_ROOT_NODE 的反序列化。

最佳答案

简短的回答是“你不能”。

XStream 需要知道要实例化哪个类,它从 JSON(或 XML)数据中获取该知识。类名可以有别名,但不能省略。您可以通过以下方式解决:

  1. 使用包含类名(或别名)的根节点手动包装 JSON 字符串
  2. 编写您自己的阅读器来为您完成。但是,在这种情况下,您仍然需要将您的类名(别名)显式或按约定传递给该阅读器(例如,始终在前面加上“根”,然后在 XStream 实例中将其配置为您的类的别名)——所以我不我认为这比 #1 更干净。

关于java - XStream 解析没有根节点的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1263356/

相关文章:

c# - Silverlight 中的同步 WebClient 下载

java - XStream 编码损坏

java - 关闭非阻塞套接字 channel

java - 如何将OSGi连接到SAP?

java - mvn 在正确位置安装 :install-file is unable to install ojdbc7. jar

java - 在 Java 中使用 XStream 序列化为 YAML

java - XML XStream 问题

java - 将转储文件导入 mysql JDBC

python - 尝试将 JSON 解析为字典时出现问题

c# - 将多维数组从 ajax 传递到 ASP.NET MVC