给定一个org。布森。文档
{
"doneDate":"",
"todoEstimates":"",
"forecastDate":"",
"cardType":{
"projectData":[
{
"color":"#ffcd03",
"boardId":"30022"
},
{
"color":"#ffcd03",
"boardId":"1559427"
}
],
"cardFields":[
{
"fieldName":"id",
"fieldLabel":"Unique ID",
"fieldType":"Integer",
"itemType":"Long",
"isRequired":"NO",
"isReadOnly":"Yes",
"isDisabled":"NO",
"inputMethod":"System Generated",
"defaultValue":null,
"isUserType":"No"
},
{
"fieldName":"name",
"fieldLabel":"Title",
"fieldType":"Single-Line Text",
"itemType":"String",
"isRequired":"Yes",
"isReadOnly":"NO",
"isDisabled":"NO",
"inputMethod":"Manual Entry",
"defaultValue":null,
"isUserType":"No"
}
]
}
如何通过流将fieldName
和fieldLabel
的值提取到以下内容中?
{
"id": "Unique ID",
"name:" "Title",
...
}
我尝试了以下方法,但在获取cardFields
列表值的部分遇到了问题。
document.entrySet().stream().filter(e -> e.getKey().equals("cardType"))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue))
.entrySet().stream().filter(e -> e.getKey().equals("cardFields"))
.map(e -> (Map)e.getValue()).toList();
您可以这样解析您的文档:
Document cardType = document.get("cardType", Document.class);
final Class<? extends List> listOfMaps = new ArrayList<Map<String, String>>().getClass();
List<Map<String, String>> fields = cardType.get("cardFields", listOfMaps);
fields.stream().map(f -> {
System.out.println(f.get("fieldName") + ": " + f.get("fieldLabel"));
// here you can construct your new object
}).collect(Collectors.toList());
假设我有一个多映射,如下所示: 第一个步骤是将字符串拆分为一个数组,因为最初它是一个逗号分隔的字符串。然后,我找到任何值中的最大元素数,循环该次数的条目中的所有值,并用结果为每个值创建一个映射。坦率地说,我上周五写了这段代码,但我已经不能正确地阅读它... 所以,一开始这是一件简单的事情,但我最终陷入了混乱,有没有更好的方法来做这件事? 提前谢了。
问题内容: 我怎么能展平的(同类型)s到一个用Java 8? 问题答案: 我的语法可能有些偏离,但是flatMap应该为您完成大部分工作:
我试图翻译这个(简化)代码使用Java-8流: 以下是我尝试过的: 但以上给出了所有
我正在使用AWSJavaSDK的DynamoDBMapper,并处理一个相当简单的项目:它有一个字符串属性(用作哈希键)和一个map属性。 我可以使用和方法读写我的对象。我遇到的问题是,当我需要在映射中为表中的现有项更新或添加单个条目时。在不知道所述项的映射的现有条目的情况下(并且我不想每次尝试更新或添加之前都执行),我似乎能做的最好的事情就是删除整个映射,并用我尝试更新或添加的单个条目替换它。是
问题内容: 我有一个使用字符串作为键和值的映射。我有一个键数组,用于指定地图值的顺序。 我想将该映射序列化为JSON,但要保持数组上定义的顺序。 这里有一个示例代码:http : //play.golang.org/p/A52GTDY6Wx 我想将其序列化为: 但是,如果我直接序列化地图,则密钥按字母顺序排列: 我可以将其序列化为地图数组,从而保持顺序,但是会生成很多不需要的字符: 在我的真实代码
问题内容: 我想将 每个地图条目转换为-列表中的1个条目作为“键-值” 我搜索了,只发现将值仅映射到List。 我希望将此映射到列表为 等等。 如果我使用foreach,可以很容易地做到这一点,但是我想知道通过流获取它是否可行 问题答案: