You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js中如何调用含连字符的JSON属性值?

如何访问带连字符的JSON/JS对象属性?

在JavaScript中,点语法访问对象属性时,属性名必须符合标识符规则——不能包含连字符、空格,也不能以数字开头。像database-name这种带连字符的属性,点语法会把它错误解析成database减name的表达式,导致语法报错,必须改用方括号语法来访问和修改。

把你代码里的这一行:

result.databases.database-name = 'ArangoDB';

替换成:

result.databases['database-name'] = 'ArangoDB';

修改后的完整代码如下:

const fs = require("fs");
const xml2js = require('xml2js');

fs.readFile("databases.xml", "utf-8", (err, data) => {
    if (err) {
        throw err;
    }

    xml2js.parseString(data, (err, result) => {
        if (err) {
            throw err;
        }

        // 改用方括号语法访问带连字符的属性
        result.databases['database-name'] = 'ArangoDB';

        const builder = new xml2js.Builder();
        const xml = builder.buildObject(result);

        fs.writeFile('new-databases.xml', xml, (err) => {
            if (err) {
                throw err;
            }

            console.log(`Updated XML is written to a new file.`);
        });

    });
});

内容的提问来源于stack exchange,提问作者Alwaysdoubt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 23:09:32