2015-10-19 95 views
1

相關Question在Android改造響應中獲取JsonSyntaxException?

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響應,但得到以下錯誤:

錯誤

  • 響應

    可能性是NdJson,它不能夠正確地解析它

問題

  • 我怎樣才能正確分析?
+0

你想讀取它作爲一個數組?如果您的回覆包裹在[]中? –

+0

@ trevor-e其實它不是'NdJson'。所以沒有'JsonArray'或'JsonObject'在這裏工作。請看看這個問題:http://stackoverflow.com/questions/15121584/how-to-parse-a-large-newline-delimited-json-file-by-jsonstream-module-in-node-j (如果我沒有錯) –

+0

我明白了。我相信你需要指定一個客戶轉換器來改造以處理這個,可能使用一個自定義的Gson對象。 –

回答