Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json jq:分析错误:第1行第14列的数值文字无效_Json_Cmd_Jq_Windows 10 Desktop_Hjson - Fatal编程技术网

Json jq:分析错误:第1行第14列的数值文字无效

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: "" }

我无法访问以下json文件(someconfig.js)中以开头的任何字段

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"