当前位置: 首页 > 面试题库 >

Java GSON:获取JSONObject下所有键的列表

葛玉堂
2023-03-14
问题内容

我已经将GSON作为Java中的JSON解析器,但是键并不总是相同的。
例如。我有以下JSON:

{“我已经知道的对象”:{
“ key1”:“ value1”,
“ key2”:“ value2”,
“ AnotherObject”:{“ anotherKey1”:“ anotherValue1”,“ anotherKey2”:“
anotherValue2”}
}

我已经有了JSONObject“我已经知道的对象”。现在,我需要获取此对象的所有JSONElement,分别是“ Key1”,“ Key2”和“
AnotherObject”。
提前致谢。
编辑:输出应为带有JSONObject所有键的字符串数组


问题答案:

您可以使用JsonParser将Json转换为中间结构,该结构允许您检查json内容。

String yourJson = "{your json here}";
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(yourJson);
JsonObject obj = element.getAsJsonObject(); //since you know it's a JsonObject
Set<Map.Entry<String, JsonElement>> entries = obj.entrySet();//will return members of your object
for (Map.Entry<String, JsonElement> entry: entries) {
    System.out.println(entry.getKey());
}


 类似资料:
  • 我在Java中使用了GSON作为JSON解析器,但密钥并不总是相同的<例如。我有以下JSON: {“我已经知道的对象”:{br>“key1”:“value1”, “key2”:“value2”, “AnotherObject”:{“anotherKey1”:“anotherValue1”,“anotherKey2”:“anotherValue2”} } 我已经得到了JSONObject“我已经知道

  • 试图获取特定标题下的所有td(单元格) HTML: 方法: 实际结果: java.lang.IndexOutOfBoundsException:索引0超出长度0的边界 预期结果: 返回一个

  • 问题内容: 我如何从使用硒与node.js的下拉菜单中获取所有选项 下面是我的代码: 从上面 我如何获取所有选项并在node.js中执行foreach或使用node.js打印选项值。 提前致谢。 问题答案:

  • 问题内容: 获取Oracle中所有表的列表? 问题答案: 假设您有权访问DBA_TABLES数据字典视图。如果您没有这些特权但需要它们,则可以请求DBA显式授予您对该表的特权,或者请求DBA授予您该SELECT ANY DICTIONARY特权或SELECT_CATALOG_ROLE角色(这两者都将允许您查询任何数据字典表) )。当然,您可能希望排除某些模式,例如SYS和模式,SYSTEM而这些模

  • 我有一个springframework启动应用程序,在这个应用程序上我有很多定时cron,现在我正在创建一个rest控制器(GET),我想在其中获取项目上所有定时cron的列表(元数据) 调度pplication.java 1班。JAVA 2班。JAVA 应用yml 这是我的Rest控制器

  • 我有一个带有主键和排序键的表;因为这是一个复合键,所以我有多个主键与不同的排序键映射。 如何获取与特定主键关联的所有排序键? 我尝试使用“Get”操作,但这似乎也需要排序键(尽管我正在寻找这些键)。我还研究了“BatchGet”操作,但这是针对多个不同的键,而不是针对具有多个不同排序键的单个主键。 我也尝试过“查询”,但没有成功,但我对这一点了解较少,所以这可能就是解决方案——是这样吗?我还知道,