gpt4 book ai didi

java - 使用 java 8 将 set 转换为 json 数组

转载 作者:行者123 更新时间:2023-11-30 02:27:02 31 4
gpt4 key购买 nike

以下是我的代码,它可以针对 java 8 进行优化吗?可以提高效率吗?

public String LanguageString(Set<Locale> languageSet) throws Exception {
JSONObject json = new JSONObject();
JSONObject tempj = new JSONObject();
JSONArray jArr = new JSONArray();
try {
for (Locale locale : languageSet) {
if (locale != null) {
tempj = new JSONObject();
tempj.put("lcode", locale.toLanguageTag());
tempj.put("ldisplay", locale.getDisplayName());
jArr.put(tempj);
}
}
json.put("root", jArr);
} catch (JSONException e) {
//
}
return json.toString();
}

最佳答案

如果您想使用 Java 8 和 Stream API,您可以使用 stream , mapreduce创建您的最终JSONObject ,例如

public static String languageStringUsingStream(Set<Locale> locales) {
return new JSONObject()
.put("root", locales.stream()
.map(locale -> new JSONObject()
.put("lcode", locale.toLanguageTag())
.put("ldisplay", locale.getDisplayName(Locale.ENGLISH))
)
.reduce(new JSONArray(), JSONArray::put, (a, b) -> a))
.toString();
}

在这里您可以找到完整的示例:

https://gist.github.com/wololock/27bd296fc894f6f4594f997057218fb3

关于java - 使用 java 8 将 set 转换为 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45385365/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com