Espruino:Справочник по API/Класс E/toJS(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия 1 участника)
Строка 30: Строка 30:
*  E.toJS({a:1,b:2}) == '{a:1,b:2}'
*  E.toJS({a:1,b:2}) == '{a:1,b:2}'


'''Примечание:''' Строки, созданные с помощью E.toJS(), невозможно корректно пропарсить при помощи [https://www.espruino.com/Reference#l_JSON_parse JSON.parse()]. Впрочем, эти строки являются корректными JS-переменными, так что здесь допустимо использование [https://www.espruino.com/Reference#l__global_eval eval()] (но тут есть ограничения по безопасности, если вы не доверяете источнику, из которого пришла строка).
{{Примечание1|Строки, созданные с помощью E.toJS(), невозможно корректно пропарсить при помощи [https://www.espruino.com/Reference#l_JSON_parse JSON.parse()]. Впрочем, эти строки являются корректными JS-переменными, так что здесь допустимо использование [https://www.espruino.com/Reference#l__global_eval eval()] (но тут есть ограничения по безопасности, если вы не доверяете источнику, из которого пришла строка).
ПК-парсер [https://github.com/json5/json5 JSON5] без проблем парсит строки, сгенерированные с помощью E.toJS().
ПК-парсер [https://github.com/json5/json5 JSON5] без проблем парсит строки, сгенерированные с помощью E.toJS().}}


=См.также=
=См.также=
{{ads}}


=Внешние ссылки=
=Внешние ссылки=
Строка 41: Строка 39:
<references />
<references />


{{Навигационная таблица/Espruino}}
{{Навигационная таблица/Портал/Espruino}}
{{Навигационная таблица/Телепорт}}

Текущая версия от 17:07, 22 мая 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция E.toJS()[1]

Синтаксис

E.toJS(arg)

Параметры

  • arg – JS-переменная, которую надо преобразовать в строку

Возвращаемое значение

Строку.

Описание

Выполняет ту же базовую функцию, что и JSON.stringify(), но JSON.stringify() также добавляет несколько дополнительных символов, чтобы соответствовать стандарту JSON, тогда как для JS-переменных эти символы не требуются.

Кроме того, E.toJS() умеет преобразовывать в строки JS-функции, тогда как JSON.stringify() их игнорирует.

Например:

  • JSON.stringify({a:1,b:2}) == '{"a":1,"b":2}'
  • E.toJS({a:1,b:2}) == '{a:1,b:2}'
Примечание

Строки, созданные с помощью E.toJS(), невозможно корректно пропарсить при помощи JSON.parse(). Впрочем, эти строки являются корректными JS-переменными, так что здесь допустимо использование eval() (но тут есть ограничения по безопасности, если вы не доверяете источнику, из которого пришла строка). ПК-парсер JSON5 без проблем парсит строки, сгенерированные с помощью E.toJS().

См.также

Внешние ссылки