Javascript 将对象推送到JSON文件子数组/对象 欢迎使用JS或Node.JS解决方案
我有一个json文件,它的结构如下,我删除了一些不必要的部分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": { "
{
"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"})