JavaScript - .toJSON

Я - новичок к JSON, и следовательно я не уверен что $.toJSON(params) средства.

Объясните, что это делает.

5
задан Rap 21 April 2013 в 02:43
поделиться

3 ответа

Это может быть плагин jQuery

var myObj = {};
myObj.propA = "a";
myObj.propB = "b";
myObj.propC = "c";
var jsonString = $.toJSON(myObj); // same as jQuery.toJSON(myObj)
// output:  '{ "propA" : "a", "propB" : "b", "propC" : "c" }'
11
ответ дан 18 December 2019 в 09:48
поделиться

Он передает переменную params в качестве аргумента метода с именем toJSON , прикрепленного к объекту, хранящемуся в ( бесполезно названной ) переменной $ .

Судя по названию, он, вероятно, преобразует содержимое переменной params в строку, отформатированную в соответствии со спецификацией JSON .

1
ответ дан 18 December 2019 в 09:48
поделиться

См: http://www.json.org/js.html

Стрингификатор JSON работает в обратном направлении, преобразуя структуры данных JavaScript в текст JSON. JSON не поддерживает циклические структуры данных, поэтому будьте осторожны, чтобы не отдать циклические структуры JSON-стрингификатору.

var myJSONText = JSON.stringify(myObject, replacer);

Если метод stringify видит объект, содержащий метод toJSON, он вызывает этот метод и строчит возвращаемое значение. Это позволяет объекту определить свое собственное представление JSON.

Метод stringifier может принимать необязательный массив строк. Эти строки используются для выбора свойств, которые будут включены в текст JSON.

Метод stringifier может принимать необязательную функцию replacer. Она будет вызвана после метода toJSON (если он есть) для каждого из значений в структуре. Ему будут переданы каждый ключ и значение в качестве параметров, и он будет привязан к объекту, хранящему ключ. Возвращаемое значение будет строковым.

Таким образом, если у вас есть метод $.toJSON(), это может быть плохо реализованная функция для "стрингизации", или это может быть метод, который возвращает "JSON-представление" $

5
ответ дан 18 December 2019 в 09:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: