如何在java中动态获取json对象名称

时间:2018-02-20 14:23:10

标签: java json parsing

我有以下json示例,我想动态获取对象名称而不传递为字符串。

.otherwise(){}

我想得到John和Ross的钥匙。我试过

{
    "John": {
        "Age": "22",
        "status": "married"
    },
    "Ross": {
        "Age": "34",
        "status": "divorced"
    }
}

但上面的代码给出了所有的密钥。我只想要父键。

2 个答案:

答案 0 :(得分:0)

您可以将parse.entrySet()更改为parse.keySet()以获得所需的结果。

JSONObject parse = JSON.parseObject("");
for (Map.Entry<String, Object> entry : parse.keySet()) {
    System.out.println(entry.getKey() + "=" + entry.getValue());
}

答案 1 :(得分:0)

假设使用fastjson。请改用keySet

JSONObject parse = JSON.parseObject("");
for (String entry : parse.keySet()) {
    System.out.println(entry);
}

这将打印:

John
Ross

经过测试:

String s = "{\"John\":{\"Age\":\"22\",\"status\":\"married\"},\"Ross\":{\"Age\":\"34\",\"status\":\"divorced\"}}";

JSONObject parse = JSON.parseObject(s);
for (String entry : parse.keySet()) {
    System.out.println(entry);
}