13

Преобразование объекта JS в строку JSON

9

Вопрос:

Я создал объект в JavaScript следующим образом:

var j = {"name": "binchen"};

Как я могу преобразовать этот объект в строку JSON? Ожидаемый вывод должен выглядеть так:

'{"name":"binchen"}'

Какой метод я должен использовать, чтобы достичь этого результата?

5 ответ(ов)

20

Все современные браузеры имеют встроенную поддержку JSON. Так что, если вы не работаете с устаревшими браузерами, такими как IE6/7, вы можете сделать это так же просто, как в приведённом примере:

var j = {
  "name": "binchen"
};
console.log(JSON.stringify(j));

В этом коде объект j преобразуется в строку JSON с помощью метода JSON.stringify(), и результат выводится в консоль.

0

Если вы используете AngularJS, фильтр 'json' подойдет для этой задачи:

<span>{{someObject | json}}</span>

Этот фильтр преобразует объект в строку в формате JSON, что удобно для отладки и отображения данных в шаблоне.

0

Вы можете использовать метод JSON.stringify() для преобразования JSON-объекта в строку.

var j = {"name": "binchen"};
JSON.stringify(j);

Для обратного процесса вы можете использовать метод JSON.parse() для преобразования JSON-строки обратно в JSON-объект.

0

JSON.stringify(j, null, 4) вернёт красиво отформатированный JSON, если вам нужно сделать его более читабельным.

Второй параметр — это replacer. Он может использоваться как фильтр, позволяющий исключить определённые ключи при сериализации. Если установить его в null, то будут возвращены все пары ключ-значение.

0

В AngularJS функция angular.toJson() используется для сериализации объекта в JSON-формат.

Пример использования:

var jsonStr = angular.toJson(obj, pretty);

Параметры:

  • obj: Объект, который вы хотите сериализовать в JSON.

  • pretty (необязательный): Если он установлен в true, то сгенерированный JSON будет содержать переносы строк и пробелы для лучшей читаемости. Если вместо этого передать целое число, то JSON будет отформатирован с указанным количеством пробелов для каждого уровня отступа. По умолчанию это значение равно 2.

Вот пример использования:

var myObject = {name: "John", age: 30, city: "New York"};
var jsonString = angular.toJson(myObject, true);
console.log(jsonString);

В этом примере jsonString будет выводить JSON-строку с отступами, что сделает её более читабельной.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь