ViewHelper Documentation
v:format.json.encode
JSON Encoding ViewHelper
Returns a string containing the JSON representation of the argument. The argument may be any of the following types:
- arrays, associative and traditional
- DomainObjects
- arrays containing DomainObjects
- ObjectStorage containing DomainObjects
- standard types (string, integer, boolean, float, NULL)
- DateTime including ones found as property values on DomainObjects
Recursion protection is enabled for DomainObjects with the option to add a special marker (any variable type above also supported here) which is inserted where an object which would cause recursion would be placed.
Be specially careful when you JSON encode DomainObjects which have recursive relations to itself using either 1:n or m:n - in this case the one member of the converted relation will be whichever value you specified as "recursionMarker" - or the default value, NULL. When using the output of such conversion in JavaScript please make sure you check the type before assuming that every member of a converted 1:n or m:n recursive relation is in fact a JavaScript. Not doing so may result in fatal JavaScript errors in the client browser.
Arguments
value anySimpleType
Array or Traversable
useTraversableKeys boolean
If TRUE, preserves keys from Traversables converted to arrays.
preventRecursion boolean
If FALSE, allows recursion to occur which could potentially be fatal to the
recursionMarker anySimpleType
Any value - string, integer, boolean, object or NULL - inserted instead of
dateTimeFormat string
A date() format for converting DateTime values to JSON-compatible values.