获取随机名称的JSON标记

时间:2018-03-01 17:56:57

标签: java json path

我有这个JSON:

{
   "-1":{          
      "name":"Ad hoc",
      "modifiedBy":"",          
      }
   },
   "9":{
      "name":"my name",
      "modifiedBy":"me",
      }
   }
}

标签"-1""9"是我不知道的ID。

我需要使用带有JSON路径的"9" "name"获取标记"my name"

我该怎么做?我使用Java。

1 个答案:

答案 0 :(得分:0)

我假设您的问题中的JSON采用Java的JSONObject形式。让我们调用此对象myjson。我们还要说你正在尝试获取具有内部"名称"的子对象的ID。 " Ad hoc"的价值:

String nameKey = "Ad hoc";
String theID = "";
Set keys = myjson.keySet();
Iterator iter = keys.iterator();
while(iter.hasNext()) {
    String key = (String)iter.next();
    String name = (String)jsonObject.getJSONObject(key).get("name");
    if (name.equals(nameKey)) {
        theID = key;
    }
}

变量theID现在应该包含您想要的ID。如果未找到匹配项,theID将为空字符串。