首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android ksoap2 複雜字串解析為 List 供 SimpleAdapter 顯示

     編輯:程式設計綜合問答

原始字串格式


[{AKB021:値1, AKE038:値2, KS:値3, JS:値4, ROWNUM:1},
 {AKB021:値5, AKE038:値6, KS:値7, JS:値8, ROWNUM:2}]

解析邏輯修正


List> muldata = new ArrayList<>();
String resp = object.toString(); // 取得上述字串
resp = resp.replace("[", "").replace("]", ""); // 移除外層 []
String[] rows = resp.split("\\},\\s*\\{"); // 分割各記錄
for (String row : rows) {
    row = row.replace("{", "").replace("}", "");
    Map map = new HashMap<>();
    for (String kv : row.split(",")) {
        String[] parts = kv.split(":", 2);
        if (parts.length == 2) map.put(parts[0].trim(), parts[1].trim());
    }
    muldata.add(map);
}

關鍵點

  • 每筆記錄必須包含 **所有 5 個鍵**(AKB021、AKE038、KS、JS、ROWNUM),否則 SimpleAdapter 找不到對應欄位顯示空白。
  • 原代碼 transStringToMap 僅產生單一 Map,導致 List 只有一個元素且鍵值不全。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved