Ichにはreactアプリケーションがあり、ユーザーがコードファイルをアップロードして、サイトで確認できるようにしたいと考えています。したがって、当然、.jsonファイルも受け入れられます。ここで、ファイルの内容を取得するために、axiosを使用して、サーバー上のファイルに対してget要求を行います。
これは、JSONファイルを除いてすべて正常に機能します。JSONファイルは自動的に解析されるため、文字列としてではなく、JavaScriptオブジェクトとして使用できます。次に、JSON.stringify
を使用して再度文字列に変換すると、すべての改行が削除されるため、それを行うことはできません。
AxiosがJSONを自動的に解析しないようにする方法はありますか?
LuleBesの答えは私にはうまくいきませんでした。動作したのは:transformResponse: (req) => { return res; },
次のように:
axios.get(url, {
headers,
transformResponse: (res) => {
// Do your own parsing here if needed ie JSON.parse(res);
return res;
},
responseType: 'json'
}).then(response => {
// response.data is an unparsed string
});
わかりました、それがどのように機能するかを理解しました。構成でtransformResponse
配列を渡すだけで、応答処理を無効にできます。これは、デフォルトの代わりに使用されます。そこで、次のように、応答に適用する必要のある空の配列または関数の配列を指定するだけです。
axios.get(URL, {transformResponse: []})
.then(response => {/*response.data is plain text*/});