【发布时间】:2021-05-15 07:39:59
【问题描述】:
我正在使用 MongoDB 和 Spring 进行练习,但我有以下两难境地;在数据库中,我有以下信息:
[
{
"menu":"querys",
"optionsList":[
{
"options":[
"0001",
"0022",
"0014",
"0041",
"0042",
"0043"
]
}
]
},{..},{...}
]
Java中对象的结构如下:
@Document(collection = "menu")
public class GetAllRules implements Serializable {
private static final long serialVersionUID = 7375796948388333325L;
@JsonProperty(value = "menu")
private String name;
@JsonProperty(value = "optionsList")
private List<Map<String, ?>> optionsList;
//Getters and Setters.
通过以下方法我得到 JSON(我正在使用 MongoRepository),第一个 FOR 我得到所有信息,第二个我得到内部映射,但我不知道如何迭代信息在 options 中找到,如果有人能帮我解决这个问题,我将不胜感激:
@GetMapping("/final")
public String obtener() {
List<GetAllRules> allRules = iGetMenuService.getAll(); // Mongo List
String key= "options";
for (GetAllRules rules : allRules) {
for (Map<String, ?> internal : rules.getOptionsList()) {
System.out.println(internal.get(key));
}
}
return "finalizado";
}
通过 System.out.println(internal.get(key)); 行我得到了我需要的键值但现在我不知道如何通过它对每个数据做一些特定的事情。
[0001, 0022, 0014, 0041, 0042, 0043]
[0238]
[1001, 1003]
[0108, 0109, 0102]
[0601, 0602, 0604, 0604]
[0603, 0901, 0901]
[0238]
[0001]
谢谢。
【问题讨论】:
-
"...但现在我不知道如何逐个处理每个数据的特定内容。" 请告诉你想要什么处理每个数据?
-
你好 prasad_,我的想法是,对于我检索的每个值,我都会转到 JSON 中的一个列表并检索一些信息以创建另一个对象并返回它,这就像穿越该值的两个 JSON,并使用我需要的信息构建第三个对象。
标签: java spring mongodb loops dictionary