XML メッセージを含む JSON を投稿しようとすると、「値の始まりを探している無効な文字 'b'」というエラーが表示されます。サーバーからの無効な JSON 応答。これは、応答本文が JSON 形式でない場合によく発生します。
問題は、応答本文が json.Unmarshal を使用して解析されているコードにある可能性があります。これをデバッグするには、次の手順に従います。
err := json.Unmarshal(resBody, v) if err != nil { log.Printf("error decoding sakura response: %v", err) if e, ok := err.(*json.SyntaxError); ok { log.Printf("syntax error at byte offset %d", e.Offset) } log.Printf("sakura response: %q", resBody) return err }
このコードでは:
これらのログ ステートメントを追加すると、無効な文字エラーの原因を正確に特定し、サーバーが有効な JSON 応答を返さない理由を判断できます。
以上がGo で JSON をアンマーシャリングすると「無効な文字」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。