| ... |
... |
@@ -1,12 +1,18 @@ |
| 1 |
1 |
{{velocity wiki="false"}} |
| 2 |
|
-#if("$!request.outputSyntax" == 'json') |
|
2 |
+## If AJAX call |
|
3 |
+#if("$!request.outputSyntax" != '') |
| 3 |
3 |
$response.setContentType('application/json') |
| 4 |
4 |
#end |
| 5 |
|
-{ |
| 6 |
|
-"greeting" : "Hello", |
| 7 |
|
-"location": "World" |
| 8 |
|
-} |
| 9 |
|
-{{/velocity}} |
|
6 |
+#set($MyJsonData = {'greeting': 'Hello', 'location': 'World'}) |
|
7 |
+$jsontool.serialize($MyJsonData) |
| 10 |
10 |
|
|
9 |
+## In order to ensure the generated JSON is valid it is recommanded to |
|
10 |
+## build the JSON in memory (using Velocity/Java maps, arrays and basic types) |
|
11 |
+## and then serialize it with $jsontool.serialize method. |
|
12 |
+## Usage (from Marius: http://xwiki.markmail.org/message/wsvaj4leg5atufwd): |
|
13 |
+## #set($array = [1, 2, 3]) |
|
14 |
+## $jsontool.serialize($array) |
|
15 |
+## #set($map = {'enabled': true, 'color': 'yellow', 'count': 13}) |
|
16 |
+## $jsontool.serialize($map) |
| 11 |
11 |
|
| 12 |
|
- |
|
18 |
+{{/velocity}} |