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

Ken*_*ogt 22 javascript json

我想以编程方式构建一个json字符串.最终产品应该是这样的:

var myParamsJson = {first_name: "Bob", last_name: "Smith" };
Run Code Online (Sandbox Code Playgroud)

但是我想一次做一个参数.如果它是一个数组,我会做的事情如下:

var myParamsArray = [];
myParamsArray["first_name"] = "Bob";
myParamsArray["last_name"] = "Smith";
Run Code Online (Sandbox Code Playgroud)

我甚至不介意构建该数组然后转换为json.有任何想法吗?

Dar*_*rov 52

你可以用对象做类似的事情:

var myObj = {};
myObj["first_name"] = "Bob";
myObj["last_name"] = "Smith";
Run Code Online (Sandbox Code Playgroud)

然后你可以使用该JSON.stringify方法将该对象转换为JSON字符串.

var json = JSON.stringify(myObj);
alert(json);
Run Code Online (Sandbox Code Playgroud)

将会呈现:

{"first_name":"Bob","last_name":"Smith"}
Run Code Online (Sandbox Code Playgroud)

这种方法本身内置于所有现代浏览器中(即使IE8远非现代浏览器,IE8也支持它).如果您需要支持一些旧版浏览器,可以包含json2.js脚本.


rdo*_*gan 12

创建一个普通对象:

var o = {
    first_name: 'Robert',
    last_name: 'Dougan'
};
Run Code Online (Sandbox Code Playgroud)

然后用JSON.stringify它来做一个字符串:

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