我已經開始使用Moshi以及Retrofit 2,並遇到了解析服務調用返回的父對象內的對象數組的問題。返回的JSON看起來是這樣的:無法使用Moshi解析返回的JSON數組
{
"acf": {
"email": "[email protected]",
"address": "24 Cortland Avenue",
"country": "US",
"description": "Oh my goodness",
"created_at": "1416672067",
"updated_at": "1416672067",
"facebook": "",
"contact": "Dirk Gently",
"photos": [
{
"file": 3525
},
{
"file": 3526
},
{
"file": 6110
},
{
"file": 3527
},
{
"file": 3528
},
{
"file": 6700
},
{
"file": 7404
},
{
"file": 7419
}
],
"latitude": "40.801249",
"longitude": "-99.746280"
}
}
我得到的 '照片' 字段以下異常:
com.squareup.moshi.JsonDataException:預期BEGIN_ARRAY但在路徑 STRING $ [0] .acf.photos
我定義的車型,像這樣:
public class Acf {
private String email;
private String address;
List<Photo>photos;
}
public class Photo {
public int file;
}
我試過以各種其他方式在模型中聲明屬性,並通過文檔讀取,試圖找出我做錯了什麼。我被困在這一點上,真的可以用第二套眼睛指向正確的方向。我有一種感覺,我錯過了一些痛苦簡單明顯的事情。在此先感謝任何可以提供幫助的人。如果我遺漏了任何相關信息,請通知我,我會更新信息。
更新:我發現這個異常只發生在我獲取多個ACF時。如果我爲單個對象發出請求,則所有內容都可以正確解析。
你可以發佈所有你的模型類是Acf,照片和MainRespose – Ashwani
是否曾經有一個JSON響應的字符串值爲''照片''? –
@EricCochran是的。如果我通過id獲取單個記錄,它會解析得很好,但當我獲取多個(分頁)時,它不適用於該字段。我將深入研究文檔,看看是否有更好的方法來記錄它。 – ninehundredt