我有这个:
str=`cat package.json`
prop="name"
my_val="$(node -e "console.log(JSON.parse(${str})[${prop}]);")"
echo "$my_val"
我想读取 package.json 文件的 name
属性。我认为这很接近,但我收到 JSON.parse 错误:
SyntaxError: Unexpected token o in JSON at position 1
at Object.parse (native)
at [eval]:1:18
at ContextifyScript.Script.runInThisContext (vm.js:25:33)
at Object.runInThisContext (vm.js:97:38)
有人知道如何解决吗?
这有效:
prop="name"
my_val="$(node -e "console.log(require('./package.json')['$prop'])")"
echo "json val: '$my_val'"
但我想知道如何以第一种方式做到这一点。
最佳答案
在linux系统上有jq命令可以解析JSON文件
jq -r ".name" package.json
关于json - 使用 bash 读取 package.json 文件的 name 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47234740/