Как я могу построить json-строку в javascript/jquery?
Я хотел бы создать программную строку json. Конечный продукт должен выглядеть примерно так:
var myParamsJson = {first_name: "Bob", last_name: "Smith" };
Однако я хотел бы сделать это по одному параметру за раз. Если бы это был массив, я бы просто сделал что-то вроде:
var myParamsArray = [];
myParamsArray["first_name"] = "Bob";
myParamsArray["last_name"] = "Smith";
Я бы даже не возражал против создания этого массива, а затем преобразования в json. Любые идеи?
Ответы
Ответ 1
Вы можете сделать аналогичную вещь с объектами:
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 script.
Ответ 2
Создайте нормальный объект:
var o = {
first_name: 'Robert',
last_name: 'Dougan'
};
И затем используйте JSON.stringify
, чтобы сделать его строкой:
var string = JSON.stringify(o); //"{"first_name":"Robert","last_name":"Dougan"}"