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

问题描述 投票:0回答:1

我正在尝试使用 expressjs

在节点中创建服务器

当我尝试从 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",
        },...
node.js json express get
1个回答
0
投票

从解析的 JSON 中,

products
是一个像这样的对象:

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

}

如果您希望数组值作为键

products
,请考虑此处的对象解构

const { products } = JSON.parse(fs.readFileSync('products.json'))
© www.soinside.com 2019 - 2024. All rights reserved.