Serializes input into a JSON-formatted string. Properties with leading $$ characters will be stripped since angular uses this notation internally.
The Safari browser throws a RangeError
instead of returning null
when it tries to stringify a Date
object with an invalid date value. The only reliable way to prevent this is to monkeypatch the Date.prototype.toJSON
method as follows:
var _DatetoJSON = Date.prototype.toJSON; Date.prototype.toJSON = function() { try { return _DatetoJSON.call(this); } catch(e) { if (e instanceof RangeError) { return null; } throw e; } };
See https://github.com/angular/angular.js/pull/14221 for more information.
angular.toJson(obj, pretty);
Param | Type | Details |
---|---|---|
obj | Object Array Date string number boolean | Input to be serialized into JSON. |
pretty (optional) | boolean number | If set to true, the JSON output will contain newlines and whitespace. If set to an integer, the JSON output will contain that many spaces per indentation. (default: 2) |
string undefined
|
JSON-ified string representing |
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ng/function/angular.toJson