私は、Twitter APIから取得したJSONファイルをインポートするために、PROC GROOVYの代わりにSAS libname JSONエンジンを使用したいと思います。 OpenSUSE LEAP 42.3でSAS 9.4M4を実行しています。SAS libname JSONエンジン - Twitter API
私はTwitter APIにアクセスする方法でFalko Schulz's descriptionに従っており、何事もうまくいきました。 JSONファイルをSASにインポートしたいところまで。したがって、コードの最後の作業行は、ファイル名 "res"で参照されるファイルにjson-fileを生成します:
proc http method="get"
out=res headerin=hdrin
url="https://api.twitter.com/1.1/search/tweets.json?q=&TWEET_QUERY.%nrstr(&)count=1"
ct="application/x-www-form-urlencoded;charset=UTF-8";
run;
です。
Falko SchulzはPROC GROOVYを使用しています。しかし、SAS 9.4M4では、この謎のJSON libnameエンジンがあり、人生を楽にしています。また、単純なJSONファイルでも動作します。しかし、Twitterのデータではありません。だから、TwitterからJSONデータを
libname test JSON filref=res;
を使用して、ダウンロードしたことは私に次のエラーを与える:私はのファイル名ステートメントを使用して
Invalid JSON in input near line 1 column 751: Some code points did not transcode.
私は何かがファイルのエンコーディングが間違っていることが疑わ形式:運のない
filename res TEMP encoding="utf-8";
...私もトンを増加させようとした
彼はレコード長
filename res TEMP encoding="utf-8" lrecl=1000000;
とレコード形式で遊ん...無駄に...
は、誰かが助けることができますか?私は何が欠けていますか?このエラーに遭遇せずにLIBNAMEステートメントでJSONエンジンを使用するにはどうすればよいですか?
SASセッションはどのエンコーディングで実行されていますか? IE、これは何を返します: 'proc options option = encoding; run; ' – Joe
ENCODING = LATIN9、おそらくUTF-8に変更する必要があります –
はい、少なくともあなたの問題の一部です。ほとんどのSASインストール9.4以降には、UTF-8スタートアップオプションも自動的に含まれています(スタートメニューなどの別のショートカットです)。 – Joe