Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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/jquery中构建json字符串?_Javascript_Json - Fatal编程技术网

如何在javascript/jquery中构建json字符串?

如何在javascript/jquery中构建json字符串?,javascript,json,Javascript,Json,我希望以编程方式构建json字符串。最终产品应类似于: var myParamsJson = {first_name: "Bob", last_name: "Smith" }; var myParamsArray = []; myParamsArray["first_name"] = "Bob"; myParamsArray["last_name"] = "Smith"; 然而,我想一次只做一个参数。如果它是一个数组,我会做如下操作: var myParamsJson = {first_na

我希望以编程方式构建json字符串。最终产品应类似于:

var myParamsJson = {first_name: "Bob", last_name: "Smith" };
var myParamsArray = [];
myParamsArray["first_name"] = "Bob";
myParamsArray["last_name"] = "Smith";
然而,我想一次只做一个参数。如果它是一个数组,我会做如下操作:

var myParamsJson = {first_name: "Bob", last_name: "Smith" };
var myParamsArray = [];
myParamsArray["first_name"] = "Bob";
myParamsArray["last_name"] = "Smith";

我甚至不介意构建该数组,然后转换为json。有什么想法吗?

创建一个普通对象:

var o = {
    first_name: 'Robert',
    last_name: 'Dougan'
};
然后使用将其设置为字符串:

var string = JSON.stringify(o); //"{"first_name":"Robert","last_name":"Dougan"}"

您可以对对象执行类似的操作:

var myObj = {};
myObj["first_name"] = "Bob";
myObj["last_name"] = "Smith";
然后可以使用
JSON.stringify
方法将该对象转换为JSON字符串

var json = JSON.stringify(myObj);
alert(json);
将显示:

{"first_name":"Bob","last_name":"Smith"}

这种方法是在所有现代浏览器中固有的(即使IE8支持它,即使IE8离现代浏览器还很远)。如果您需要支持某些传统浏览器,您可以使用脚本。

使用JSON.stringify()可能与和重复。请注意,您不应该在数组中使用非数字属性,而应该使用普通对象。当然,您可以按照自己的意愿构建对象,而且您似乎已经知道如何实现这一点。只是之前有人问过如何将数组或对象转换为JSON,重复回答没有意义。无论如何,社区决定。。。如果您的问题更多的是关于如何动态创建对象,那么您应该更清楚地说明这一点。标题询问如何转换为JSON。