首页 > 解决方案 > 如何在字符串中找到最后一行(package.json)

问题描述

我一直在尝试在 package.json 的末尾添加新字段。我无法使用

方法,因为它给了我单行输出。我不想在 git diff 中更改 package.json 中的其他行,我只需要查看新属性即可。

所以我试图在以字符串格式获取 package.json 后找到最后一行。这些是步骤

这可行,但是 json 也可能在 and 处包含数字、null、布尔值(真/假)。如果是这种情况,我该如何检测这些?也请让我知道任何其他类型的 json 可能有。


第一种方法,感谢@jonrsharpe的贡献就像一个魅力。

packageJSON = `{
    "abc": "def",
    "qwe": true
}
`
function addNewField(packageJSON){

    const obj = JSON.parse(packageJSON)
    obj["newField"] = {
        z: "zzz",
        x: 100
    }
    return JSON.stringify(obj, null, 2)

}

const resultStr = addNewField(packageJSON)
/*
"{
  "abc": "def",
  "qwe": true,
  "newField": {
    "z": "zzz",
    "x": 100
  }
}"
*/

标签: javascriptstringpackage.json

解决方案


推荐阅读