Json jq:分析错误:第1行第14列的数值文字无效
我无法访问以下json文件(someconfig.js)中以开头的任何字段Json jq:分析错误:第1行第14列的数值文字无效,json,cmd,jq,windows-10-desktop,hjson,Json,Cmd,Jq,Windows 10 Desktop,Hjson,我无法访问以下json文件(someconfig.js)中以开头的任何字段 window.table = { config: getBootstrapConfig() }; window.someConfig = { header: { rui: { iframeUri: "header/header.html", divId: "", initFnName: "" }
window.table = {
config: getBootstrapConfig()
};
window.someConfig = {
header: {
rui: {
iframeUri: "header/header.html",
divId: "",
initFnName: ""
}
},
....
...
....
我试了什么
jq .header someconfig.js
parse error: Invalid numeric literal at line 1, column 14
jq .window.someConfig someconfig.js
parse error: Invalid numeric literal at line 2, column 0
我是jq的新手,也尝试过
jq .['header'] someconfig.js
jq: error: syntax error, unexpected INVALID_CHARACTER (Windows cmd shell quoting issues?) at <top-level>, line 1:
.['header']
jq: 1 compile error
jq。['header']someconfig.js
jq:错误:语法错误,第1行出现意外的无效字符(Windows cmd shell引用问题?)
[标题]
jq:1编译错误
但是,我无法理解如何获取字段ex:divId,我希望看到“”。我还想知道什么命令可以将divId=“”替换为divId=“abcd”如果您能够以某种方式提取JavaScript的数据组件,您可以使用诸如将类似JSON的数据转换为JSON的工具,然后使用jq 例如:
#!/bin/bash
function data {
cat<<EOF
{
header: {
rui: {
iframeUri: "header/header.html",
divId: "",
initFnName: ""
}
}
}
EOF
}
data | hjson -j | jq .header.rui.iframeUri
您可以使用
JSON.stringify
创建一个有效的JSON字符串,供jq进行后续处理
例如,假设my.js包含以下javascript代码:
window={};
window.someConfig = {
header: {
rui: {
iframeUri: "header/header.html",
divId: "",
initFnName: ""
}
}
};
print(JSON.stringify(window));
然后使用spidermonkey的js:
js my.js | jq .someConfig.header.rui.iframeUri
收益率:
"header/header.html"
输入文件是JavaScript,而不是JSON。
"header/header.html"