Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

314
Visualizações
object` ("[object Response]") cannot be serialized as JSON?

I am trying to consume my api through code I am getting this error

object` ("[object Response]") cannot be serialized as JSON

But when I call or use this api through browser I am getting response.

here is my code https://codesandbox.io/s/naughty-platform-1xket?file=/pages/index.js

I am consuming my api like this

 console.log("-----");
  const cc = await fetch("https://1xket.sse.codesandbox.io/api/basecss/");
  console.log(cc, "llll");

API design

export default async (req, res) => {
  const stylesheet = await (
    await fetch("https://www.****.com/asset/web/css/***-base.css", {})
  ).text();
  console.log(stylesheet, "server");
  res.status(200).send(stylesheet);
};

I am getting this console value on server. but when I am calling this api through code I am getting this error

object` ("[object Response]") cannot be serialized as JSON. Please only return JSON serializable data types
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

That is because fetch returns a Response, after the response is returned, you need to parse the response response.json() response.text() etc. This is also an asynchronous operation, and I believe that you can't nest await statements like that.

  const response = await fetch("https://www.****.com/asset/web/css/***-base.css")
  const data = await response.text()

over 4 years ago · Santiago Trujillo Relatório

0

You're getting that error because you're returning a response object (cc) in your getStaticProps which is not serializable. getStaticProps and getServerSideProps only allow serializable content to be returned from them.

To fix the issue you'll first need to convert the response data to text before you can return it. You'll also need to change your props to match the ones expected in the IndexPage component.

// pages/index.js

export async function getStaticProps() {
    const res = await fetch("https://1xket.sse.codesandbox.io/api/basecss/");
    const stylesheet = await res.text(); // Converts response data to text

    return {
        props: {
            stylesheet // Changes prop name from `cc` to `stylesheet` to match component
        }
    };
}
over 4 years ago · Santiago Trujillo Relatório

0

The way I solved this for Firestore types, specifically for geopoint and timestamp types was to use some method that transforms the non-serializeable property into one.

CreatedAt: data.createdAt.toMillis(),
updatedAt: data.updatedAt.toMillis(),
coordinates: null,
latitude: Number(JSON.stringify(data?.coordinates?.latitude) ),
longitude: Number(JSON.stringify(data?.coordinates?.longitude)),

For Firestore timestamp objects, you can use the .toMillis() method. For Firestore Geopoint objects, you can first turn the location(coordinate) into 'null' and then if you need the specific latitude and longitude properties, you can use the latitude and longitude properties to pull these out and then just cast them as "Numbers".

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda