ホームページ >バックエンド開発 >Python チュートリアル >「json.loads()」が「JSONDecodeError: Expecting Value」をスローするのはなぜですか?それを修正するにはどうすればよいですか?
json.loads() 関数を使用して JSON を解析しようとすると、「Expecting value: line 1 columns 1」のようなエラー メッセージが表示されます。 (char 0)」が発生する可能性があります。このエラーは、指定された入力文字列が予期された JSON 形式に準拠していないことを示します。
このエラーの最も一般的な原因は、応答本文が空または不完全であることです。これを解決するには、次の手順に従っていることを確認します。
リクエストを使用した例を次に示します。 package:
import requests response = requests.get(url) if response.status_code != 204: return response.json()
HTTP 標準の違反を防ぐために、Content-Type ヘッダーをチェックして、サーバーが JSON を配信することを意図していることを確認します。 JSON の解析中に ValueError が発生した場合は、適切なエラー処理を実装できます:
if ( response.status_code != 204 and response.headers["content-type"].strip().startswith("application/json") ): try: return response.json() except ValueError: # Handle server misbehavior
以上が「json.loads()」が「JSONDecodeError: Expecting Value」をスローするのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。