我想以编程方式构建一个json字符串。最终产品应该是这样的:
var myParamsJson = {first_name: "Bob", last_name: "Smith" };
但是我想一次做一个参数。如果它是一个数组,我会做类似的事情:
var myParamsArray = [];
myParamsArray["first_name"] = "Bob";
myParamsArray["last_name"] = "Smith";
我甚至不介意构建该数组然后转换为json。有什么想法吗?
答案 0 :(得分:51)
你可以用对象做类似的事情:
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远非现代浏览器)。如果您需要支持某些旧版浏览器,则可以包含json2.js脚本。
答案 1 :(得分:11)
创建普通对象:
var o = {
first_name: 'Robert',
last_name: 'Dougan'
};
然后使用JSON.stringify
将其设为字符串:
var string = JSON.stringify(o); //"{"first_name":"Robert","last_name":"Dougan"}"