Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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文件子数组/对象 欢迎使用JS或Node.JS解决方案_Javascript_Jquery_Json_Node.js - Fatal编程技术网

Javascript 将对象推送到JSON文件子数组/对象 欢迎使用JS或Node.JS解决方案

Javascript 将对象推送到JSON文件子数组/对象 欢迎使用JS或Node.JS解决方案,javascript,jquery,json,node.js,Javascript,Jquery,Json,Node.js,我有一个json文件,它的结构如下,我删除了一些不必要的部分 { "post": { "sample_post": { "slug": "/sample" } } } 我想推出一个新的对象数组,比如sample_post,有人建议将这个数组改为 { "post": [{ "sample_post": { "

我有一个json文件,它的结构如下,我删除了一些不必要的部分

{
  "post": {
    "sample_post": {
      "slug": "/sample"
    }
  }
}
我想推出一个新的对象数组,比如sample_post,有人建议将这个数组改为

{
  "post": [{
    "sample_post": {
      "slug": "/sample"
    }
  }]
}
使用push,但我得到了类似data的错误。push不是一个函数,因为我使用jquery获取外部json,根据您的代码,我不知道这是否会导致错误:

var data = {
  "post": {
    "sample_post": {
      "slug": "/sample"
    }
  }
}
必须使用临时变量来存储新数组:

var _tmp = []
_tmp.push(data.post)
并检查你的初始数据

data.post = _tmp

我不确定你想要的只是:

var test = {
  "post": {
    "sample_post": {
      "slug": "/sample"
    }
  }
};

test.post = [test.post];

如果准备如下所示的对象

var obj = {
  "post": [{
    "sample_post": {
      "slug": "/sample"
    }
  }]
}
然后,您应该以以下任一方式将对象添加到post数组中

obj.post.push({"key": "value"})


要使用push函数,对象应为Array类型。但在您的例子中,它是一个json对象。所以您首先需要通过使用空白数组初始化它来使其成为数组。ie data.post=[]或直接使用带有必需元素的数组。在此之后,您可以使用push-in-post.push。
希望这有帮助

您是否使用数组语法将JSON反序列化为实际的JS对象,或者您是在尝试推送JSON本身吗?它似乎是data.post.pushinstead@Scott我想将object添加到json文件这是一种post/content数据库有没有办法将json数组保存到本地ArrayTanks供您回答,但它与我想要的情况不太匹配,只要假设数组是所有设置的数组,博客帖子数据。因此,即使我将数据存储在js文件中,我仍然需要保存更改,只是今天我将一些值推送到post对象,但下次我再次打开它时,它将成为原始值,而不是我修改的值,因此我希望在推送后保存数组。你能理解我的意思吗?
obj["post"].push({"key": "value"})