NodeJS .find()不是一个函数,当我试图从JSON文件中查找ID时,它会返回这样的函数

gv8xihay  于 11个月前  发布在  Node.js
关注(0)|答案(1)|浏览(102)

我正在尝试使用expressjs在node中创建服务器
当我试图从products.json获取一个特定的id时,我试图在其中找到方法,但它遇到了一个错误,说products.find不是一个函数

import express from "express";
import fs from 'fs'
import bodyParser from "body-parser";

const app = express()
const products = JSON.parse(fs.readFileSync('products.json'))

app.get('/products', (req, res) => {
    res.json(products)
})
app.get('/products/:id', (req, res) => {
    const id = parseInt(req.params.id)
    const product = products.find(p => p.id === id)
    res.json(product)
})

字符串
product.json在这里

{
    "products": [
        {
            "id": 1,
            "title": "iPhone 9",
        },...

ukqbszuj

ukqbszuj1#

从解析的JSON中,products是这样的对象:

{
    "products": [
        {
            "id": 1,
            "title": "iPhone 9",
        }, 
        •••
    ]

}

字符串
如果你想让数组的值为products,考虑在这里进行对象解构:

const { products } = JSON.parse(fs.readFileSync('products.json'))

相关问题