LoginSignup
0
0

More than 3 years have passed since last update.

GoogleのCloud Vision APIでの結果出力で困ったこと

Posted at

JSONファイルを出力しようと思ったら、ファイルの最初と最後に変な文字が入っていた問題

そもそも、関数を理解していないんじゃないかと思ったので、ちゃんと理解しなきゃと痛感。

参考にしていたサイト

ここを参考にベースを作ってました。
Google Cloud Visionを使ってみた

やっていたこと

そもそも、何をしていたかというと、Cloud Vison APIをたたいて取得したresponse結果をpickle.dumpでファイル出力していました。
したら、先頭に「�X~」など変な文字は入るし、末尾には「q.」が入って困っていました。
そのため、出力したファイルをjson.loadができなかった。
※pickle.loadはできていた


response = requests.post(ENDPOINT_URL
   ,data=json.dumps({"requests": img_requests}).encode()
                             ,params={'key': api_key}
                             ,headers={'Content-Type': 'application/json'})

result = json.dumps(response.json()['responses'], ensure_ascii=False, indent=4)
print(result)
f = open("./output.json", 'wb')
pickle.dump(result, f)

解決

以下のように処理を変えたら、json.loadで読み込める形で出力できた。


f = open("./output.json", 'wb')
f.write(result.encode("UTF-8"))



これ、書いてて思って、以下で試してみたけれど、
最初の問題と変わらず。理解不足。わかったら追記したい。
バイナリ形式だったからとか?なんにせよ、調査。


f = open("./output.json", 'wb')
f.write(result.encode("UTF-8"))

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0