Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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
Javascript 附加JSON文件_Javascript - Fatal编程技术网

Javascript 附加JSON文件

Javascript 附加JSON文件,javascript,Javascript,我正在使用JAVASCRIPT,并试图附加一个JSON文件。文件的顶部看起来像这样 doUpdate( { "response": { "version":"0.1", . . . ); 我希望文件的顶部看起来像这样,然后在末尾添加适当的} doUpdate( { "data": { "response": { "version":"0.1", . . . . } ); 我知道这有点奇怪,但我有一个理论,我正在研究一个问题。您需要采取几个步骤来修改函数调用中的对象。最基本、最

我正在使用JAVASCRIPT,并试图附加一个JSON文件。文件的顶部看起来像这样

doUpdate(
{
  "response": {
  "version":"0.1",
.
.
.
);
我希望文件的顶部看起来像这样,然后在末尾添加适当的}

doUpdate(
{
"data": {
  "response": {
  "version":"0.1",
.
.
.
.
}
);

我知道这有点奇怪,但我有一个理论,我正在研究一个问题。

您需要采取几个步骤来修改函数调用中的对象。最基本、最愚蠢、最容易出错的方法是:

fs = require('fs');
fs.readFile('myfile.js', 'utf8', function (str) {
  str = str.replace(/^doUpdate\(|\)$/g, ''); // modify this for newlines and semicolon
  obj = JSON.parse(str);
  obj['newContent'] = 'foo';
  obj['moreContent'] = 'bar';
  str = 'doUpdate(' + JSON.stringify(obj) + ')'; // or stringify(obj, null, 2) for pretty-print
  console.log(str);
  // or fs.writeFile('myfile.js', str);
});

一种更健壮的方法是使用Esprima解析和构建AST,然后抓取对象并重新生成输出js。

这不是JSON。这也不是附加。JavaScript也没有任何本地文件处理功能,这取决于主机环境来提供这类功能……您没有指定这一点。Windows脚本主机?NodeJS?还有别的事吗?@Quentin这是JSONP。是的,是的,我刚刚有过这样的时刻