【问题标题】:TypeError: Cannot set property '18dit075' of undefined in node jsTypeError:无法在节点js中设置未定义的属性'18dit075'
【发布时间】:2020-08-10 20:39:01
【问题描述】:
var id = req.query.id;
var username = req.query.name;
var password = req.query.password;
console.log(req.query);

var data = {
        people:{
        }
    }

    data.people[id] = {
            username: username,
            password: password,
            degignation : 1
    }


let userjson = jsonfile.readFileSync(path.join(__dirname,'database','people'));
console.log(userjson);
userjson.people[id] = {
                username: username,
                password : password,
                degignation: 1
        }


jsonfile.writeFileSync(path.join(__dirname,'database','people'),userjson,{spaces:2});`

我想在 json 文件中写入 js 对象。但它显示错误 TypeError: Cannot set property '18dit075' of undefined in node js。注意我的 people.json 文件是空的。我需要快速 js 方面的帮助。请帮帮我

【问题讨论】:

  • 什么是jsonfile
  • userjson.peopleundefined
  • jsonfile 是 fs 模块

标签: javascript node.js json file express


【解决方案1】:

您需要在写入 JSON 时使用JSON.stringify。您还需要使用.json 作为扩展名。

更好的是你可以使用https://www.npmjs.com/package/write-json-file & https://www.npmjs.com/package/load-json-file 来避免小错误:)

我会这样做:

const loadJsonFile = require('load-json-file');
const writeJsonFile = require('write-json-file');
const id = req.query.id
const username = req.query.name
const password = req.query.password
console.log(req.query)

(async () => {

    const data = {
        people: {},
    }

    data.people[id] = {
        username: username,
        password: password,
        degignation: 1,
    }

    const filePath = path.join(__dirname, 'database/people.json')
    let userjson = await loadJsonFile(filePath);
    console.log(userjson)
    userjson.people[id] = {
        name: username,
        password: password,
        degignation: 1,
    }

    await writeJsonFile(filePath, userjson, {indent: 2});

})();

【讨论】:

    猜你喜欢
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    • 2018-11-30
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多