[英]Unable to deserialize a complex JSON object using GSON
To transfer data from a server to client i'm using GSON, actually i'm able to get the JSON String but getting error while deserialising.要将数据从服务器传输到客户端,我使用 GSON,实际上我能够获取 JSON 字符串,但在反序列化时出错。 If someone could help me i'll be thankfull...
如果有人可以帮助我,我将不胜感激...
JSON String JSON 字符串
{ "id" : 0,
"maxPlayers" : 0,
"racks" : [ "EIORSSU",
"CEKOPRV",
"PVEELV?",
"VAAEIR?",
"BDENOTT",
"DNEEIIO",
"EEIOBLU",
"EODFLST",
"DSTAAEL",
"EEIMNOS",
"GINRRSU",
"AEENTWX",
"EENTIQU",
"ADEGHJT",
"GHCEGMU",
"GGMAINP",
"AGPFRTU",
"FGANORY",
"FGNORLM",
"GLMNHIS",
"HLMNANZ",
"AHLMN",
"ALM",
"L"
],
"strokes" : [ { "2H:\"null\"" : "R",
"3H:\"null\"" : "O",
"4H:\"null\"" : "U",
"5H:\"null\"" : "I",
"6H:\"null\"" : "S",
"7H:\"null\"" : "S",
"8H:\"null\"" : "E"
},
{ "2C:\"null\"" : "R",
"2D:\"null\"" : "O",
"2E:\"null\"" : "C",
"2F:\"null\"" : "K",
"2G:\"null\"" : "E",
"2H:\"null\"" : "R"
},
{ "4G:\"null\"" : "P",
"5G:\"null\"" : "L",
"6G:\"null\"" : "E",
"7G:\"null\"" : "u",
"8G:\"null\"" : "V",
"9G:\"null\"" : "E"
},
{ "10F:\"null\"" : "E",
"11F:\"null\"" : "R",
"12F:\"null\"" : "A",
"13F:\"null\"" : "I",
"7F:\"null\"" : "l",
"8F:\"null\"" : "A",
"9F:\"null\"" : "V"
},
{ "14D:\"null\"" : "B",
"14E:\"null\"" : "O",
"14F:\"null\"" : "T",
"14G:\"null\"" : "T",
"14H:\"null\"" : "E"
},
{ "10E:\"null\"" : "D",
"8E:\"null\"" : "N",
"9E:\"null\"" : "I"
},
{ "3A:\"null\"" : "B",
"3B:\"null\"" : "L",
"3C:\"null\"" : "E",
"3D:\"null\"" : "U",
"3E:\"null\"" : "I"
},
{ "10D:\"null\"" : "O",
"11D:\"null\"" : "F",
"12D:\"null\"" : "E",
"9D:\"null\"" : "L"
},
{ "13H:\"null\"" : "D",
"13I:\"null\"" : "E",
"13J:\"null\"" : "T",
"13K:\"null\"" : "A",
"13L:\"null\"" : "L",
"13M:\"null\"" : "A",
"13N:\"null\"" : "S"
},
{ "10L:\"null\"" : "I",
"11L:\"null\"" : "N",
"12L:\"null\"" : "O",
"13L:\"null\"" : "L",
"14L:\"null\"" : "E",
"7L:\"null\"" : "S",
"8L:\"null\"" : "E",
"9L:\"null\"" : "M"
},
{ "2I:\"null\"" : "S",
"3I:\"null\"" : "U",
"4I:\"null\"" : "R"
},
{ "6M:\"null\"" : "W",
"7M:\"null\"" : "A",
"8M:\"null\"" : "X"
},
{ "10H:\"null\"" : "I",
"10I:\"null\"" : "N",
"10J:\"null\"" : "Q",
"10K:\"null\"" : "U",
"10L:\"null\"" : "I",
"10M:\"null\"" : "E",
"10N:\"null\"" : "T",
"10O:\"null\"" : "E"
},
{ "10O:\"null\"" : "E",
"11O:\"null\"" : "T",
"12O:\"null\"" : "A",
"7O:\"null\"" : "D",
"8O:\"null\"" : "E",
"9O:\"null\"" : "J"
},
{ "3A:\"null\"" : "B",
"4A:\"null\"" : "U",
"5A:\"null\"" : "C",
"6A:\"null\"" : "H",
"7A:\"null\"" : "E"
},
{ "10C:\"null\"" : "M",
"11C:\"null\"" : "I",
"12C:\"null\"" : "N",
"13C:\"null\"" : "G"
},
{ "4K:\"null\"" : "P",
"5K:\"null\"" : "A",
"6K:\"null\"" : "R",
"7K:\"null\"" : "U",
"8K:\"null\"" : "T"
},
{ "11G:\"null\"" : "A",
"12G:\"null\"" : "Y"
},
{ "5J:\"null\"" : "F",
"6J:\"null\"" : "O",
"7J:\"null\"" : "R"
},
{ "4C:\"null\"" : "G",
"4D:\"null\"" : "I",
"4E:\"null\"" : "S"
},
{ "12I:\"null\"" : "N",
"13I:\"null\"" : "E",
"14I:\"null\"" : "Z"
},
{ "12M:\"null\"" : "H",
"13M:\"null\"" : "A",
"14M:\"null\"" : "N"
},
{ "1B:\"null\"" : "M",
"1C:\"null\"" : "A"
}
],
"timeout" : 0
}
Target class:目标类:
Class Game {
private int id;
private String name;
private int timeout;
private int maxPlayers;
private List<String> racks;
private List<LinkedHashMap<Position, Character>> strokes;
private List<Player> players;}
I got this error:我收到此错误:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 287 at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:186) at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93) at com.goog
com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为 BEGIN_OBJECT,但在 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176) 的第 1 行第 287 列是 STRING。 google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:186) at com.google.gson.internal。 bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) 在 com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) 在 com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter。 read(CollectionTypeAdapterFactory.java:81) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java :93) 在 com.goog le.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172) at com.google.gson.Gson.fromJson(Gson.java:803) at com.google.gson.Gson.fromJson(Gson.java:768) at com.google.gson.Gson.fromJson(Gson.java:717) at com.google.gson.Gson.fromJson(Gson.java:689) at fr.univtln.groupec.dupliword_server.main.Serveur.main(Serveur.java:87) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 287 at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:374) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Ada
le.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172) at com.google.gson.Gson.fromJson(Gson.java:803) at com.google.gson.Gson.fromJson(Gson. java:768) 在 com.google.gson.Gson.fromJson(Gson.java:717) 在 com.google.gson.Gson.fromJson(Gson.java:689) 在 fr.univtln.groupec.dupliword_server.main.Serveur .main(Serveur.java:87) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:4) ) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) 在 java.lang.Thread.run(Thread.java :745) 引起:java.lang.IllegalStateException:预期为 BEGIN_OBJECT,但在 com.google.gson.stream.JsonReader.beginObject(JsonReader.java:374) 的第 1 行第 287 列处为 STRING。 bind.ReflectiveTypeAdapterFactory$Ada pter.read(ReflectiveTypeAdapterFactory.java:165) ... 19 more
pter.read(ReflectiveTypeAdapterFactory.java:165) ... 19 更多
I think that the probleme is coming from the "List>", can someone tell me how can I deserialise this ?我认为问题来自“列表>”,有人可以告诉我如何反序列化它吗?
[{"2H:\\"null\\"":"R","3H:\\"null\\"":"O","4H:\\"null\\"":"U","5H:\\"null\\"":"I","6H:\\"null\\"":"S","7H:\\"null\\"":"S","8H:\\"null\\"":"E"},{"2C:\\"null\\"":"R","2D:\\"null\\"":"O","2E:\\"null\\"":"C","2F:\\"null\\"":"K","2G:\\"null\\"":"E","2H:\\"null\\"":"R"},{"4G:\\"null\\"":"P","5G:\\"null\\"":"L","6G:\\"null\\"":"E","7G:\\"null\\"":"u","8G:\\"null\\"":"V","9G:\\"null\\"":"E"},{"7F:\\"null\\"":"l","8F:\\"null\\"":"A","9F:\\"null\\"":"V","10F:\\"null\\"":"E","11F:\\"null\\"":"R","12F:\\"null\\"":"A","13F:\\"null\\"":"I"},{"14D:\\"null\\"":"B","14E:\\"null\\"":"O","14F:\\"null\\"":"T","14G:\\"null\\"":"T","14H:\\"null\\"":"E"},{"8E:\\"null\\"":"N","9E:\\"null\\"":"I","10E:\\"null\\"":"D"},{"3A:\\"null\\"":"B","3B:\\"null\\"":"L","3C:\\"null\\"":"E","3D:\\"null\\"":"U","3E:\\"null\\"":"I"},{"9D:\\"null\\"":"L","10D:\\"null\\"":"O","11D:\\"null\\"":"F","12D:\\"null\\"":"E"},{"13H:\\"null\\"":"D","13I:\\"null\\"":"E","13J:\\"null\\"":"T","13K:\\"null\\"":"A","13L:\\"null\\"":"L","13M:\\"null\\"":"A","13N:\\"null\\"":"S"},{"7L:\\"null\\"":"S","8L:\\"null\\"":"E","9L:\\"null\\"":"M","10L:\\
[{"2H:\\"null\\"":"R","3H:\\"null\\"":"O","4H:\\"null\\"":"U","5H:\\"null \\"":"I","6H:\\"null\\"":"S","7H:\\"null\\"":"S","8H:\\"null\\"":"E"} ,{"2C:\\"null\\"":"R","2D:\\"null\\"":"O","2E:\\"null\\"":"C","2F:\\"null \\"":"K","2G:\\"null\\"":"E","2H:\\"null\\"":"R"},{"4G:\\"null\\"":"P ","5G:\\"null\\"":"L","6G:\\"null\\"":"E","7G:\\"null\\"":"u","8G:\\"null \\"":"V","9G:\\"null\\"":"E"},{"7F:\\"null\\"":"l","8F:\\"null\\"":"A ","9F:\\"null\\"":"V","10F:\\"null\\"":"E","11F:\\"null\\"":"R","12F:\\"null \\"":"A","13F:\\"null\\"":"I"},{"14D:\\"null\\"":"B","14E:\\"null\\"":"O ","14F:\\"null\\"":"T","14G:\\"null\\"":"T","14H:\\"null\\"":"E"},{"8E:\\ "null\\"":"N","9E:\\"null\\"":"I","10E:\\"null\\"":"D"},{"3A:\\"null\\"": "B","3B:\\"null\\"":"L","3C:\\"null\\"":"E","3D:\\"null\\"":"U","3E:\\ "null\\"":"I"},{"9D:\\"null\\"":"L","10D:\\"null\\"":"O","11D:\\"null\\"": "F","12D:\\"null\\"":"E"},{"13H:\\"null\\"":"D","13I:\\"null\\"":"E","13J :\\"null\\"":"T","13K:\\"null\\"":"A","13L:\\"null\\"":"L","13M:\\"null\\"": "A","13N:\\"null\\"":"S"},{"7L:\\"null\\"":"S","8L:\\"null\\"":"E","9L :\\"null\\"":"M","10L:\\ "null\\"":"I","11L:\\"null\\"":"N","12L:\\"null\\"":"O","13L:\\"null\\"":"L","14L:\\"null\\"":"E"},{"2I:\\"null\\"":"S","3I:\\"null\\"":"U","4I:\\"null\\"":"R"},{"6M:\\"null\\"":"W","7M:\\"null\\"":"A","8M:\\"null\\"":"X"},{"10H:\\"null\\"":"I","10I:\\"null\\"":"N","10J:\\"null\\"":"Q","10K:\\"null\\"":"U","10L:\\"null\\"":"I","10M:\\"null\\"":"E","10N:\\"null\\"":"T","10O:\\"null\\"":"E"},{"7O:\\"null\\"":"D","8O:\\"null\\"":"E","9O:\\"null\\"":"J","10O:\\"null\\"":"E","11O:\\"null\\"":"T","12O:\\"null\\"":"A"},{"3A:\\"null\\"":"B","4A:\\"null\\"":"U","5A:\\"null\\"":"C","6A:\\"null\\"":"H","7A:\\"null\\"":"E"},{"10C:\\"null\\"":"M","11C:\\"null\\"":"I","12C:\\"null\\"":"N","13C:\\"null\\"":"G"},{"4K:\\"null\\"":"P","5K:\\"null\\"":"A","6K:\\"null\\"":"R","7K:\\"null\\"":"U","8K:\\"null\\"":"T"},{"11G:\\"null\\"":"A","12G:\\"null\\"":"Y"},{"5J:\\"null\\"":"F","6J:\\"null\\"":"O","7J:\\"null\\"":"R"},{"4C:\\"null\\"":"G","4D:\\"null\\"":"I","4E:\\"null\\"":"S"},{"12I:\\"null\\"":"N","13I:\\"null\\"":"E","14I:\\"null\\"":"Z"},{"12M:\\"null\\"":"H","13M:\\"null\\"":"A","14M:\\"null\\"":"N"}
"null\\"":"I","11L:\\"null\\"":"N","12L:\\"null\\"":"O","13L:\\"null\\"":"L ","14L:\\"null\\"":"E"},{"2I:\\"null\\"":"S","3I:\\"null\\"":"U","4I:\\ "null\\"":"R"},{"6M:\\"null\\"":"W","7M:\\"null\\"":"A","8M:\\"null\\"": "X"},{"10H:\\"null\\"":"I","10I:\\"null\\"":"N","10J:\\"null\\"":"Q","10K :\\"null\\"":"U","10L:\\"null\\"":"I","10M:\\"null\\"":"E","10N:\\"null\\"": "T","10O:\\"null\\"":"E"},{"7O:\\"null\\"":"D","8O:\\"null\\"":"E","9O :\\"null\\"":"J","10O:\\"null\\"":"E","11O:\\"null\\"":"T","12O:\\"null\\"": "A"},{"3A:\\"null\\"":"B","4A:\\"null\\"":"U","5A:\\"null\\""":"C","6A :\\"null\\"":"H","7A:\\"null\\"":"E"},{"10C:\\"null\\"":"M","11C:\\"null\\" ":"I","12C:\\"null\\"":"N","13C:\\"null\\"":"G"},{"4K:\\"null\\"":"P", "5K:\\"null\\"":"A","6K:\\"null\\"":"R","7K:\\"null\\"":"U","8K:\\"null\\" ":"T"},{"11G:\\"null\\"":"A","12G:\\"null\\"":"Y"},{"5J:\\"null\\"":"F ","6J:\\"null\\"":"O","7J:\\"null\\"":"R"},{"4C:\\"null\\"":"G","4D:\\ "null\\"":"I","4E:\\"null\\"":"S"},{"12I:\\"null\\"":"N","13I:\\"null\\"": "E","14I:\\"null\\"":"Z"},{"12M:\\"null\\"":"H","13M:\\"null\\"":"A","14M :\\"null\\"":"N"} ,{"1B:\\"null\\"":"M","1C:\\"null\\"":"A"}]
,{"1B:\\"null\\"":"M","1C:\\"null\\"":"A"}]
I see one glaring problem and a few other potential miscellaneous issues:我看到一个明显的问题和其他一些潜在的杂项问题:
List<LinkedHashMap<Position, Character>>
List<LinkedHashMap<Position, Character>>
Here are the other potential issues:以下是其他潜在问题:
Position
class is, it may not match upPosition
类是什么,它可能不匹配players
in the Json string players
条目You can try with你可以试试
private List<LinkedHashMap<String, Character>> strokes;
instead of代替
private List<LinkedHashMap<Position, Character>> strokes;
In the string "2H:\\"null\\"" : "R"
, it treats 2H:"null"
as key and R
as value of the map.在字符串
"2H:\\"null\\"" : "R"
,它将2H:"null"
视为键,将R
视为映射的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.