私はRetrieving JSON data via HTTP GETアンドロイド春休憩クライアント「為替」(406許容できない)
JSONレスポンスは、このようなものである。この例を実装しました:私は私のデータのでStringHttpMessageConverter
を使用することはできません
{"employees":[{"personName":"Albert","personSurname":"1stein","personNumber":"1","personMobile":"5555555","personId":"1234567890","personCompanyCode":"CC01"},
{"personName":"Albert","personSurname":"2stein","personNumber":"2","personMobile":"5555556","personId":"1234567891","personCompanyCode":"CC01"},
{"personName":"Albert","personSurname":"2stein","personNumber":"3","personMobile":"5555557","personId":"1234567892","personCompanyCode":"CC01"},
{"personName":"Albert","personSurname":"4stein","personNumber":"4","personMobile":"5555558","personId":"1234567893","personCompanyCode":"CC01"},
{"personName":"Albert","personSurname":"5stein","personNumber":"5","personMobile":"5555559","personId":"1234567894","personCompanyCode":"CC01"}],
"result":true,"message":"OK"}
巨大です(従業員20万人)それは私にOutOfMemoryErrorを与えます。
例のようにjsonから直接このデータを取得したいのですが、406が受け入れられないエラーを返します。
myClass.java:私は、次の方法を試してみた
public class MyClass { private String personName; private String
personSurname; .. ..
(Setters and Getters) .. ..
}
、ないの違い:
restTemplate.exchange(targetUrl, HttpMethod.GET, requestEntity, myClass.class)
または
restTemplate.exchange(targetUrl, HttpMethod.GET, requestEntity, myClass[].class)
MYCLASSを取得するための正しい方法は何ですかこのjsonのオブジェクト?
はあなたのクラス名は 'myClass'か' MyClass'ですか? @serhat – Coder
Webサーバーからの応答の 'Content-Type'とは何ですか?それは 'application/json'ですか? 'requestEntity'にはどんなヘッダーが設定されていますか? 'requestHeaders.setAccept(Collections.singletonList(new MediaType(" application "、" json ")));'が含まれていますか? – gus27
あなたのJSON結果は 'MyClass'要素だけの配列ではありません。 'MyClass'要素の配列は' employees'フィールドによってのみアクセスできます。したがって、 'private MyClass [] employees;のようなものを含む別のクラスを作成し、このクラスを' exchange'メソッドの第4のパラメータとして設定する必要があります。 – gus27