色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java json分組

張吉惟1年前8瀏覽0評論

在Java開發中,JSON是一種常用的數據交換格式。當我們需要將JSON數據以某一特定規則進行分組時,可以使用Java中提供的相應工具庫來實現。

其中,一個常用的工具就是Fastjson庫,該庫支持將JSON數據根據指定的鍵進行分組操作。下面是一個簡單的示例:

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class JsonGroupUtil {
public static Map>groupJsonByField(String jsonStr, String field) {
Map>groupMap = new HashMap<>();
JSONArray jsonArray = JSONArray.parseArray(jsonStr);
for (int i = 0; i< jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String fieldValue = jsonObject.getString(field);
if (groupMap.containsKey(fieldValue)) {
groupMap.get(fieldValue).add(jsonObject);
} else {
ListfieldValueList = new ArrayList<>();
fieldValueList.add(jsonObject);
groupMap.put(fieldValue, fieldValueList);
}
}
return groupMap;
}
}

通過上述代碼,我們可以將一個JSON字符串根據指定字段進行分組,結果將會以鍵值對的形式返回一個Map對象。

例如,在下面的JSON數據中,我們想要根據“group”字段進行分組:

[
{
"id": 1,
"name": "Tom",
"group": "A"
},
{
"id": 2,
"name": "Jerry",
"group": "B"
},
{
"id": 3,
"name": "Alice",
"group": "A"
}
]

調用上述方法,可以得到如下分組結果:

{
"A": [
{
"id": 1,
"name": "Tom",
"group": "A"
},
{
"id": 3,
"name": "Alice",
"group": "A"
}
],
"B": [
{
"id": 2,
"name": "Jerry",
"group": "B"
}
]
}

通過以上操作,我們可以方便地對JSON數據進行分組操作,實現更加靈活的數據處理需求。