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
Javascript 如何制作JSON框架并在以后填充_Javascript_Json_Append - Fatal编程技术网

Javascript 如何制作JSON框架并在以后填充

Javascript 如何制作JSON框架并在以后填充,javascript,json,append,Javascript,Json,Append,我正在尝试制作一个JSON来存储有关用户的信息。例如,最终它希望它看起来像: { "people": [ { "name": "foo", "company": "bar", "email": "foo@bar.com" }, { "name": "bar", "company": "foo", "email": "bar@foo.com" } ] } 这将通过表单填

我正在尝试制作一个JSON来存储有关用户的信息。例如,最终它希望它看起来像:

{
"people": [
    {
        "name": "foo",
        "company": "bar",
        "email": "foo@bar.com"
    },
    {
        "name": "bar",
        "company": "foo",
        "email": "bar@foo.com"
    }
]
}

这将通过表单填充,因此我希望能够声明一个空JSON,并在人们提交表单时添加到它。有没有办法声明一个带有骨架名称、公司、电子邮件的空JSON?另外,如何添加其他条目?是否存在某种类型的。附录名称:酒吧,公司:foo,电子邮件:bar@foo.com ? 我想使用纯javascript,但如果需要,使用jquery也可以。

使用javascript,不需要在JSON对象中预定义任何内容

这是完全有效的代码:

var o = {}; // create a new object

o.name = "Bob";
console.log(o.name); // prints Bob

o.scores = new Array();
o.scores[o.scores.length] = 1;
o.scores[o.scores.length] = 2;
o.scores[o.scores.length] = 3;
console.log(o.scores); // prints [1, 2, 3]

o.info = {};

o.info.isSet = true;
console.log(o.info.isSet); // prints true

console.log(o.info.isNotSet); // prints undefined
因此,您可以从表单中动态构建所需的任何类型的JSON

如果要将JSON呈现为字符串,可以使用JSON.stringifyo,它将打印:

{"name":"Bob","scores":[1,2,3],"info":{"isSet":true}}

使用Javascript,无需在JSON对象中预定义任何内容

这是完全有效的代码:

var o = {}; // create a new object

o.name = "Bob";
console.log(o.name); // prints Bob

o.scores = new Array();
o.scores[o.scores.length] = 1;
o.scores[o.scores.length] = 2;
o.scores[o.scores.length] = 3;
console.log(o.scores); // prints [1, 2, 3]

o.info = {};

o.info.isSet = true;
console.log(o.info.isSet); // prints true

console.log(o.info.isNotSet); // prints undefined
因此,您可以从表单中动态构建所需的任何类型的JSON

如果要将JSON呈现为字符串,可以使用JSON.stringifyo,它将打印:

{"name":"Bob","scores":[1,2,3],"info":{"isSet":true}}
使用Array.Push

下面是一个示例演示,介绍您可能要实现的目标:- 使用localStorage存储骨架并在单击按钮时向其添加数据

使用Array.Push

下面是一个示例演示,介绍您可能要实现的目标:- 使用localStorage存储骨架并在单击按钮时向其添加数据


我建议创建一个函数来进行添加。它可以防止您在向列表中添加人员时需要复制所有添加代码

// define your object somewhere
var someObject = {
    "people": []
};

// define a function for adding to your main object
function addPerson(name, company, email) {
    someObject.people.push({
        "name": name,
        "company": company,
        "email": email
    });
}
然后,如果要添加其他条目,只需调用函数:

addPerson("Some Name", "A Company", "person@website.com");

对于类似的内容,我认为最好保持简单。

我建议创建一个函数来进行添加。它可以防止您在向列表中添加人员时需要复制所有添加代码

// define your object somewhere
var someObject = {
    "people": []
};

// define a function for adding to your main object
function addPerson(name, company, email) {
    someObject.people.push({
        "name": name,
        "company": company,
        "email": email
    });
}
然后,如果要添加其他条目,只需调用函数:

addPerson("Some Name", "A Company", "person@website.com");

对于这样的事情,我想说最好保持简单。

我可能会这样做:

var Person = function (name, company, email)
{
    this.name = name;
    this.company = company;
    this.email = email;
}

var People = function ()
{
    this.people = [];

    this.add = function (person)
    {
        this.people.push(person);
    }
}

var people = new People();

people.add(new Person("john", "smith", "blah@blah.com"));

alert(JSON.stringify(people));

我可能会这样做:

var Person = function (name, company, email)
{
    this.name = name;
    this.company = company;
    this.email = email;
}

var People = function ()
{
    this.people = [];

    this.add = function (person)
    {
        this.people.push(person);
    }
}

var people = new People();

people.add(new Person("john", "smith", "blah@blah.com"));

alert(JSON.stringify(people));

什么语言?什么图书馆?您的问题中省略了很多重要信息。最好使用直接的javascript,但使用jquery是可以接受的JSON只是javascript对象表示法。它实际上只是一个JavaScript对象。您希望最终结果只是一个对象还是一个JSON字符串?什么语言?什么图书馆?您的问题中省略了很多重要信息。最好使用直接的javascript,但使用jquery是可以接受的JSON只是javascript对象表示法。它实际上只是一个JavaScript对象。您希望最终结果只是一个对象还是一个JSON字符串?