From 8ddec1fa60bdbd2d970cff7b4bf2ae5b4ded1627 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期日, 29 十二月 2024 14:58:28 +0800 Subject: [PATCH] 1.腾讯地图:定时任务每天凌晨5点 --- src/main/java/com/mzl/flower/dto/map/gaode/CityCodeTypeAdapter.java | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/mzl/flower/dto/map/gaode/CityCodeTypeAdapter.java b/src/main/java/com/mzl/flower/dto/map/gaode/CityCodeTypeAdapter.java new file mode 100644 index 0000000..3bc877a --- /dev/null +++ b/src/main/java/com/mzl/flower/dto/map/gaode/CityCodeTypeAdapter.java @@ -0,0 +1,43 @@ +package com.mzl.flower.dto.map.gaode; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; + +import java.io.IOException; + +public class CityCodeTypeAdapter extends TypeAdapter<String> { + @Override + public void write(JsonWriter out, String value) throws IOException { + if (value == null) { + out.nullValue(); + } else { + out.value(value); + } + } + + @Override + public String read(JsonReader in) throws IOException { + if (in.peek() == JsonToken.BEGIN_ARRAY) { + // 处理数组类型 + StringBuilder result = new StringBuilder(); + in.beginArray(); + while (in.hasNext()) { + if (result.length() > 0) { + result.append(","); + } + result.append(in.nextString()); + } + in.endArray(); + return result.toString(); + } else if (in.peek() == JsonToken.STRING) { + // 处理字符串类型 + return in.nextString(); + } else if (in.peek() == JsonToken.NULL) { + in.nextNull(); + return ""; + } else { + throw new IllegalStateException("Unexpected JSON type: " + in.peek()); + } + } +} -- Gitblit v1.9.3