format.json.encode ViewHelper <vhs: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¶
- DataType
 mixed
- Required
 false
- Description
 Value to encode as JSON
useTraversableKeys¶
- DataType
 boolean
- Required
 false
- Description
 If TRUE, preserves keys from Traversables converted to arrays. Not recommended for ObjectStorages!
preventRecursion¶
- DataType
 boolean
- Default
 true
- Required
 false
- Description
 If FALSE, allows recursion to occur which could potentially be fatal to the output unless managed
recursionMarker¶
- DataType
 mixed
- Required
 false
- Description
 String or null - inserted instead of recursive instances of objects
dateTimeFormat¶
- DataType
 string
- Required
 false
- Description
 A date() format for DateTime values to JSON-compatible values. NULL means JS UNIXTIME (time()*1000)
pretty¶
- DataType
 boolean
- Required
 false
- Description
 If TRUE, outputs JSON with JSON_PRETTY_PRINT