gpt4 book ai didi

javascript - 原因 : `object` ("[object Date]") cannot be serialized as JSON. 请只返回 JSON 可序列化数据类型

转载 作者:行者123 更新时间:2023-12-05 00:27:14 27 4
gpt4 key购买 nike

我正在使用棱镜和 Next.js。当我尝试从 getStaticProps 中的 prisma 检索内容时它确实获取数据,但我无法将其传递给主要组件。

export const getStaticProps = async () => {
const prisma = new PrismaClient();
const newsLetters = await prisma.newsLetters.findMany();
console.log(newsLetters);

return {
props: {
newsLetters: newsLetters,
},
};
};
正如您在此图像中看到的那样,它正在获取和打印内容。
enter image description here
但是当我通过时,我收到以下错误,因为它作为 Prop 传递
Reason: `object` ("[object Date]") cannot be serialized as JSON. Please only return JSON serializable data types.

最佳答案

看起来 nextJS 出于性能原因不喜欢序列化除标量类型之外的任何东西。您可以在 github issue 中阅读更多内容.处理此问题的最佳方法是在返回 Date 对象之前将它们转换为 UNIX 时间戳。

// your data
let newsLetters = [
{
id: 'your-id',
email: 'email@example.com',
createdAt: new Date()
}
];

// map the array
newsLetters.map(x => {
x.createdAt = Math.floor(x.createdAt / 1000);
return x;
})

// use newsLetters now
console.log(newsLetters);

关于javascript - 原因 : `object` ("[object Date]") cannot be serialized as JSON. 请只返回 JSON 可序列化数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70449092/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com