Java之JsonArray用法講解
需求:
四個字符串: "[\"HDC-51\"]", "[\"HDC-51\", \"HDC-55\"]", "[\"HDC-50\", \"HDC-55\", \"HDC-55-2\"]", "[\"HDC-51\", \"HDC-55\", \"HDC-55-2\",\"HDC-21N\"]", 分別向四個字符串中添加String macType ="HDC-50" , 並判斷字符串中各個元素是否與macType相同, 相同則不添加, 不相同則添加. 最後輸出四個字符串,要求格式同開始字符串格式一致.
思路:
這是不是普通的字符串, 而是json格式的字符串, 所以在判斷的時候, 可以選擇將多個字符串轉成jsonArray格式
延伸:
通常我們在數據庫中, 一個字段存儲多個字符串的數據, 一般以json格式存入, 更新數據的時候,使用jsonArray轉化更方便
方法一: 普通方式,不使用jsonArray
public class Test { public static void main(String[] args) { List<String> contentList = new ArrayList<>(); contentList.add("[\"HDC-51\"]"); contentList.add("[\"HDC-51\", \"HDC-55\"]"); contentList.add("[\"HDC-50\", \"HDC-55\", \"HDC-55-2\"]"); contentList.add("[\"HDC-51\", \"HDC-55\", \"HDC-55-2\",\"HDC-21N\"]"); System.out.println(contentList); String macType ="HDC-50"; for (String content : contentList) { //去掉content 中的中括號 String contentStr1 = content.replaceAll("[\\[\\]]", ""); List<String> content1= Arrays.asList(contentStr1.split(",")); List<String> list = new ArrayList<>(); for (String string : content1) { list.add(string); } //判斷content中是否已經包含macType boolean flag = false; for (String string : list) { //去掉字符串的引號 String str= string.replace("\"", ""); if (macType.equals(str)) { flag = true; break; } } //如果沒有macType,則添加 if (flag == false) { StringBuilder sb = new StringBuilder(); String macTypeStr = sb.append("\"").append(macType).append("\"").toString(); list.add(macTypeStr); } String newContent = list.toString(); System.out.println(newContent); } } }
結果:
方法二: 使用JsonArray
public class Test { public static void main(String[] args) { List<String> contentList = new ArrayList<>(); contentList.add("[\"HDC-51\"]"); contentList.add("[\"HDC-51\", \"HDC-55\"]"); contentList.add("[\"HDC-50\", \"HDC-55\", \"HDC-55-2\"]"); contentList.add("[\"HDC-51\", \"HDC-55\", \"HDC-55-2\",\"HDC-21N\"]"); System.out.println(contentList); String macType ="HDC-50"; for (String content : contentList) { try { JSONArray contentArray = JSONArray.parseArray(content); //System.out.println("contentArray前 : " + contentArray); if (!contentArray.contains(macType)) { contentArray.add(macType); } System.out.println("contentArray後 : " + contentArray); } catch (Exception e) { e.printStackTrace(); } } } }
控制臺輸出:
到此這篇關於Java之JsonArray用法講解的文章就介紹到這瞭,更多相關Java之JsonArray用法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java實現將每日新聞添加到自己博客中
- java中JSONArray互相轉換List的實現
- Java字符串拼接的優雅方式實例詳解
- java中String、StringBuffer與StringBuilder的區別
- Java實用工具之StringJoiner詳解