【发布时间】:2026-01-20 08:40:01
【问题描述】:
我正在尝试使用代码将字符串转换为Map<Integer,String>:
public static <T, R> HashMap<T, R> strMapToHashmap(String strMap) {
Gson gson = new GsonBuilder().create();
Type type = new TypeToken<HashMap<T, R>>() {
}.getType();
return gson.fromJson(strMap, type);
}
并出现以下错误:
Caused by: com.google.gson.stream.MalformedJsonException: Unexpected value at line 1 column 5 path $.
at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1568)
at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:564)
at com.google.gson.stream.JsonReader.peek(JsonReader.java:425)
at com.google.gson.internal.bind.ObjectTypeAdapter.read(ObjectTypeAdapter.java:55)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187)
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
at com.google.gson.Gson.fromJson(Gson.java:927)
at com.google.gson.Gson.fromJson(Gson.java:892)
at com.google.gson.Gson.fromJson(Gson.java:841)`
我传递给它的字符串是:
{4=, 1=3:00 pm–4:00 pm, 7=, 6=2:00 am–3:00 am, 5=8:00 am–9:00 am, 3=1:00 am–2:00 am, 2=9:00 am–10:00 am}
我不知道它有什么问题。
【问题讨论】:
-
它看起来不像是有效的 JSON
标签: java android json dictionary gson