获取随机名称的JSON标记

问题描述 投票:0回答:1

我有这个JSON:

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

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

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

我怎样才能做到这一点?我用的是Java。

java json path
1个回答
0
投票

我假设您的问题中的JSON是Java的JSONObject形式。我们称这个对象为myjson。我们还假设您正在尝试获取内部“名称”值为“Ad hoc”的子对象的ID:

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将为空字符串。

© www.soinside.com 2019 - 2024. All rights reserved.