В JSON
наши дни у большинства браузеров есть собственный объект, который включает в себя parse
и stringify
методы. Так что просто попробуйте JSON.stringify({})
и посмотрите, получится ли у вас "{}"
. Вы даже можете передать параметры, чтобы отфильтровать ключи или сделать красивую печать, например, поставить JSON.stringify({a:1,b:2}, null, 2)
новую строку и 2 пробела перед каждой клавишей.
JSON.stringify({a:1,b:2}, null, 2)
дает
"{\n \"a\": 1,\n \"b\": 2\n}"
который печатается как
{
"a": 1,
"b": 2
}
Что касается беспорядочной части вашего вопроса, используйте второй параметр. С http://www.javascriptkit.com/jsref/json.shtml :
Параметр replacer может быть функцией или массивом String / Numbers. Он проходит через каждого члена в объекте JSON, чтобы вы могли решить, на какое значение следует изменить каждый член. В качестве функции он может возвращать:
- Число, строка или логическое значение, заменяющее исходное значение свойства возвращенным.
- Объект, который затем сериализуется, возвращается. Методы или функции объекта не разрешены и вместо этого удаляются.
- Null, что приводит к удалению свойства.
Как массив, значения, определенные внутри него, соответствуют именам свойств внутри объекта JSON, которые должны сохраняться при преобразовании в объект JSON.