Javascript 如何查找字符串中的最后一行(package.json)

Javascript 如何查找字符串中的最后一行(package.json),javascript,string,package.json,Javascript,String,Package.json,我一直在尝试在package.json的末尾添加新字段。 我不能用 JSON.parse 添加新项目 JSON.stringfy 方法,因为它给我单线输出。我不想更改git diff中package.json中的其他行,我只需要查看新属性即可 所以我尝试在获取字符串格式的package.json后找到最后一行。 这些是步骤 拆下闭合卷曲支架 查找最后一行(修剪空白并输入) 加逗号 在下一行添加新属性 添加右括号 但是,json也可能在and处包含数字、null、布尔值(true/fals

我一直在尝试在package.json的末尾添加新字段。 我不能用

  • JSON.parse
  • 添加新项目
  • JSON.stringfy
方法,因为它给我单线输出。我不想更改git diff中package.json中的其他行,我只需要查看新属性即可

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

  • 拆下闭合卷曲支架
  • 查找最后一行(修剪空白并输入)
  • 加逗号
  • 在下一行添加新属性
  • 添加右括号
但是,json也可能在and处包含数字、null、布尔值(true/false)。如果是这种情况,我如何检测这些?另外,请让我知道json可能具有的任何其他类型


第一种方法,多亏了@jornsharpe的贡献,效果非常好

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
  }
}"
*/

“它给我一行输出”-所以试试
JSON.stringify(value,null,2)
?你是救命恩人。太棒了@jonrsharpe“它给我一行输出”-所以试试
JSON.stringify(value,null,2)
?你是救命恩人。太棒了@琼尔夏普