0

我必须解析具有 leet speak 的 JSON 响应,我要提取的节点是 leet speak 的子节点。我无法从响应中提取所需的子项。例如:以下是 JSON 结构。我想从中提取名称

"debug": {
    "|\"|2()|\\|+3/\\/|)": {
      "child1": [],
      "child2": {
        "Name": "abcd", 
        "Id": "123"
      },
      "child3": {
        "location": "Delhi"
      }
    }
  }
4

2 回答 2

0

JSON 文档相当于 Map,你的 leet speak 字符串是一个键。这是一个非常糟糕的主意,因为密钥应该很容易识别。所以我建议重新考虑结构。可能会引入另一个级别,您的 leet speak 字符串将作为一个孩子包含在一些易于识别的密钥下。但是如果你不能这样做,你可以将你的 JSON 转换为 Map,然后提取所有键,然后遍历它们并找到你需要的那个,然后通过该键获取你的内容

于 2019-08-13T08:09:43.800 回答
0

您可以创建 pojo 并获取该节点值

Gson g = 新 Gson(); Pojo1 p1=g.fromJson(jo.toString(), Pojo1.class);

    System.out.println(p1.getDebug().get23().getChild2().getName());
于 2019-08-14T19:04:47.237 回答