Jackson - 不带括号、逗号和 = 提取数据?

Jackson - Extract Data without Brackets, Commas, and =?

我对 Jackson 了解不多,我使用它只是因为我需要共享从 Python 到 Java 的数据。反正我的代码很简单

ObjectMapper mapper = new ObjectMapper();
Map<String,Object> data = mapper.readValue(new File(FileName), Map.class);
System.out.println(data.get("SomeInput"));

这是我得到的:

{Y=0.830168776371308, Z=0.16877637130801687, X=0.0010548523206751054}

我真的只是希望能够使用 data 检索保存数据的某种类型的数据结构,而无需打印出 {} 和 = 等。有没有办法做到这一点?

我有一组节点,每个标签一个节点(比如ADP)。我希望能够为 ADP 节点提供 0.830...我可以对字符串执行此操作,但它会涉及一些非常烦人的字符串拆分。我假设一定有一种简单的方法可以做到这一点?

编辑:

我正在加载的 json 文件中的数据如下所示

{
    "!": {
        "X": 1.0
    }, 
    "$": {
        "X": 1.0
    }, 
    "&": {
        "X": 1.0
    }, 
    "/m": {
        "Y": 1.0
    }, 
 .....
ObjectMapper mapper = new ObjectMapper(); 
Map<String,Object> data = mapper.readValue(new File(FileName), Map.class);
Map<String, Double> tags = (Map) data.get("SomeInput");

double value = 0;
for (String tag : tags.keySet()) {
    value = tags.get(tag); //Here I get all the data from the tags inside the input. E.g.: 0.830168776371308
    System.out.println(value); //It will print ADP, ADV and X values.
}

关于如何使用 Map,您已经得到了很好的答案。但为了完整起见,还有另一种可能有时效果更好,作为树阅读:

JsonNode root = mapper.readTree(new File(FileName));
JsonNode inputs = root.path("SomeInput");
String exclValue = inputs.path("!").asString();