我具有以下類SolrFBLocationDoc
:GSON錯誤:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:預期BEGIN_OBJECT但STRING位於第1點的列166
public class SolrFBLocationDoc{
@Field
private String name;
@Field
private String id;
@Field
private Location location = new Location();
//and some more class members
}
其中,Location
是一類從restfb:com.restfb.types.Location
。
我想下面給出一個solrDocument
轉換爲SolrFBLocationDoc
類的一個對象:
SolrFBLocationDoc doc = gson.fromJson(gson.toJson(solrDoc), SolrFBLocationDoc.class);
其中,solrDoc
是:
SolrDocument[{id=106377336067638, location=Location[city=null country=null latitude=null longitude=null state=null street=null zip=null]}]
和gson.toJson(solrDoc)
回報,
{"id":"106377336067638","location":"Location[city\u003dnull country\u003dnull latitude\u003dnull longitude\u003dnull state\u003dnull street\u003dnull zip\u003dnull]"}
但是,它導致了錯誤:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 166
我可以看到該問題由gson.toJson(solrDoc)
由於存在的至Location
類對象爲字符串的轉換。
然後沒有使用gson.toJson(solrDoc)
,我怎樣才能將SolrDocument
轉換爲SolrFBLocationDoc
?
我該如何擺脫這個問題?