在Java開發(fā)中,經(jīng)常需要對(duì)JSON數(shù)據(jù)進(jìn)行處理,其中數(shù)組的橫縱互換是一項(xiàng)重要且常見的操作。
以以下JSON數(shù)組為例:
[ ["a", "b", "c"], ["d", "e", "f"], ["g", "h", "i"] ]
對(duì)該數(shù)組進(jìn)行橫縱互換后,得到如下結(jié)果:
[ ["a", "d", "g"], ["b", "e", "h"], ["c", "f", "i"] ]
下面是進(jìn)行橫縱互換的Java代碼:
import com.alibaba.fastjson.JSONArray; public class JsonArrayTranspose { public static JSONArray transpose(JSONArray jsonArray) { JSONArray resultArray = new JSONArray(); for (int i = 0; i< jsonArray.getJSONObject(0).size(); i++) { JSONArray newRowArray = new JSONArray(); for (int j = 0; j< jsonArray.size(); j++) { newRowArray.add(jsonArray.getJSONArray(j).getObject(i, Object.class)); } resultArray.add(newRowArray); } return resultArray; } public static void main(String[] args) { JSONArray jsonArray = JSONArray.parseArray("[[\"a\",\"b\",\"c\"],[\"d\",\"e\",\"f\"],[\"g\",\"h\",\"i\"]]"); System.out.println("原始數(shù)組:" + jsonArray.toJSONString()); System.out.println("轉(zhuǎn)置后的數(shù)組:" + transpose(jsonArray).toJSONString()); } }
可以看到,使用Fastjson庫(kù)解析JSON數(shù)據(jù),通過(guò)兩次循環(huán)實(shí)現(xiàn)了數(shù)組的橫縱互換,得到了正確的輸出。
在實(shí)際開發(fā)中,我們經(jīng)常需要對(duì)JSON數(shù)據(jù)進(jìn)行各種各樣的處理,數(shù)組的橫縱互換只是其中一項(xiàng)。掌握這項(xiàng)技能可以提高我們的工作效率,簡(jiǎn)化我們的代碼。