特定の APIKey パラメーターを使用して保護されているサードパーティのパブリック REST API Web サービスにアクセスするための Java クラスを作成しています。
json 出力をファイルにローカルに保存するときに、JsonNode API を使用して、必要な Json 配列にアクセスできます。
例えば
JsonNode root = mapper.readTree(new File("/home/op/Test/jsondata/loans.json"));
しかし、JsonNode で保護されたライブ Web URL を使用しようとすると、
例えば
JsonNode root = mapper.readTree(url);
私は得ています:
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60))
これは、タイプの不一致があることを示唆しています。しかし、接続の問題である可能性が高いと思います。
REST サービスへの接続を処理しています。
private static String surl = "https://api.rest.service.com/xxxx/v1/users/xxxxx/loans?apikey=xxxx"
public static void main(String[] args) {
try {
URL url = new URL(surl);
JsonNode root = mapper.readTree(url);
....
}
私も使用しようとしました:
URL url = new URL(surl);
HttpURLConnection httpcon = (HttpURLConnection) url.openConnection();
InputStream isr = httpcon.getInputStream();
JsonNode root = mapper.readTree(isr);
同じ結果で。
APIKey を削除すると、ステータス 400 エラーが発生します。したがって、APIKey パラメータを処理してはいけないと思います。
JsonNode を使用して保護された REST サービス URL への呼び出しを処理する方法はありますか? 大きな配列内の複数のオブジェクトをトラバースするキーと値のペアを 2 つだけ抽出しているので、JsonNode API を引き続き使用したいと思います。