![](/img/trans.png)
[英]Retrofit - JsonSyntaxException when trying to get response.body
[英]Getting JsonSyntaxException in Android retrofit response?
相關問題
Json
響應是New line delimiter Json
:
{"type":"data","id":"xyz"}
{"type":"value","id":"xcf"}
....
....
我正在使用Retrofit
發出請求:
public void getWarehouse(){
//Generation of RestAdapter
RestAdapter adapter = new RestAdapter.Builder ()
.setEndpoint(URL)
.setLogLevel(RestAdapter.LogLevel.FULL)
.setLog(new AndroidLog("= NETWORK ="))
.build();
//Making request to API
adapter.create(WarehouseAPI.class).getWarehouse()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Response>() {
@Override
public void onCompleted() {
Log.d(this.getClass().getName(), "OnCompleted ()");
}
@Override
public void onError(Throwable e) {
Log.d(this.getClass().getName(), "Error:" + e.toString());
}
@Override
public void onNext(Response response) {
System.out.println("test");
}
});
}
我可以在Android Studio console
看到響應,但出現以下錯誤:
Error:retrofit.RetrofitError: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 2 column 2 path $
NdJson
,無法正確解析 正如@ trevor-e所提到的,您必須實現一個自定義轉換器來處理ndjson格式。 查看以下鏈接以獲取入門指南:
還可以從以下位置檢查StringConverter: 如何使用Retrofit從異步回調返回String或JSONObject?
您可以將響應轉換為常規字符串,然后將每一行解析為一個JSON對象,然后從那里開始。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.