2016-05-15 8 views
0

URLからJsonファイルを読み込み、Python3.4で解析しようとしていますが、いくつかのエラーが発生しています。私はjsonlint.comからURL上のjsonファイルを検証しましたが、ファイルは正常に見えます。 data.read()は 'byte'ファイルを返しています。タイプキャストしました。コードはpythonでJSONファイルを解析中にエラーが発生しました。3.4

import urllib.request 
import json 

inp = input("enter url :") 
if len(inp)<1: inp ='http://python-data.dr-chuck.net/comments_42.json' 

data=urllib.request.urlopen(inp) 
data_str = str(data.read()) 

print(type(data_str)) 

parse_data = json.loads(data_str) 

print(type(parse_data)) 

である私が取得していますエラーは次のとおりです。enter image description here

+0

行う必要があり、コードは型キャストされていないはずですが、代わりに次のコードを使用する必要がありました: 'data_str = data.read()。 decode( "utf-8") '...誰かが型変換がうまくいかなかった理由を説明していただければ幸いです。本当にありがとう! –

答えて

0

表現str(data.read())が文字列にあなたのバイトを「キャスト」しない、それはちょうどそれらの文字列表現を生成します。これは、b'で始まるstrの場合、data_strを印刷した場合に表示されます。

が実際にJSONをデコードするには、あなたは私が答えを得たdata_str = data.read().decode('utf=8')

関連する問題