From ac43e733611a687370a18b32baf60875255ef182 Mon Sep 17 00:00:00 2001 From: hayu <1604366271@qq.com> Date: Thu, 2 Jan 2025 15:06:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 1 + .../app/activity/basic/MainActivity.java | 6 ++-- .../index/mail/MailTreeContentFragment.java | 33 +++++++++++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 11bf071..b934db5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -121,4 +121,5 @@ dependencies { implementation 'com.joanzapata.pdfview:android-pdfview:1.0.4@aar' //okhttputils implementation 'org.bouncycastle:bcprov-jdk15on:1.56' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.0' } \ No newline at end of file diff --git a/app/src/main/java/com/bonus/app/activity/basic/MainActivity.java b/app/src/main/java/com/bonus/app/activity/basic/MainActivity.java index c58d845..ddd2102 100644 --- a/app/src/main/java/com/bonus/app/activity/basic/MainActivity.java +++ b/app/src/main/java/com/bonus/app/activity/basic/MainActivity.java @@ -436,8 +436,10 @@ public class MainActivity extends BaseActivity implements ClickUtils.OnClick2Exi @Override public void onDestroy() { - time.cancel(); - time = null; + if (time != null) { + time.cancel(); + time = null; + } super.onDestroy(); } diff --git a/app/src/main/java/com/bonus/app/fragment/index/mail/MailTreeContentFragment.java b/app/src/main/java/com/bonus/app/fragment/index/mail/MailTreeContentFragment.java index c05dbef..5323b69 100644 --- a/app/src/main/java/com/bonus/app/fragment/index/mail/MailTreeContentFragment.java +++ b/app/src/main/java/com/bonus/app/fragment/index/mail/MailTreeContentFragment.java @@ -31,6 +31,10 @@ import com.bonus.app.util.mail.PinyinComparator; import com.bonus.app.util.mail.SideBar; import com.bonus.app.util.mail.SortAdapter; import com.bonus.app.util.mail.SortModel; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; import com.xuexiang.xpage.annotation.Page; import com.xuexiang.xpage.enums.CoreAnim; import com.xuexiang.xutil.common.ClickUtils; @@ -39,6 +43,7 @@ import org.easydarwin.easypusher.R; import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -193,6 +198,7 @@ public class MailTreeContentFragment extends BaseFragment implements ClickUtils. String orgCode = orgJsonObject.getString("code"); if (orgCode.equals("200")) { String data = orgJsonObject.getString("data"); + data = getStringJSON(data); listTree = JsonHelper.jsonArrStrToBeanList(data, MailContentBean.class); listTree.forEach(c->{ c.setName(c.getName() + "\n" + c.getPhone()); @@ -215,6 +221,33 @@ public class MailTreeContentFragment extends BaseFragment implements ClickUtils. } }; + /** + * 去除JSON字符串中的null值 + */ + public String getStringJSON(String value) { + // 创建 ObjectMapper 实例 + ObjectMapper mapper = new ObjectMapper(); + + // 将字符串转换为 JsonNode + ArrayNode jsonArray = null; + try { + jsonArray = (ArrayNode) mapper.readTree(value); + // 迭代器遍历数组元素 + Iterator it = jsonArray.elements(); + while (it.hasNext()) { + JsonNode node = it.next(); + if (node.isNull()) { + // 如果是 null,则从迭代器中移除 + it.remove(); + } + } + return mapper.writeValueAsString(jsonArray); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return value; + } + /** * ΪListView������� * @param date