This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git
The following commit(s) were added to refs/heads/asf-site by this push: new 1a2d5f9 Updates production by Jenkins 1a2d5f9 is described below commit 1a2d5f91405e43310a29ca306698df22bb4b7b59 Author: jenkins <bui...@apache.org> AuthorDate: Mon Dec 4 12:39:18 2017 +0000 Updates production by Jenkins --- content/plugins/json/index.html | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/content/plugins/json/index.html b/content/plugins/json/index.html index 371f392..0ebdf10 100644 --- a/content/plugins/json/index.html +++ b/content/plugins/json/index.html @@ -583,6 +583,51 @@ The implementation should then be defined in <code class="highlighter-rouge">str </code></pre> </div> +<p>There is an example at <a href="https://gitbox.apache.org/repos/asf?p=struts-examples.git;a=blob_plain;f=json-customize/src/main/java/org/demo/FlexJSONWriter.java;hb=HEAD">struts-examples/json-customize/FlexJSONWriter.java</a>. +It replaces Struts default json serializer with <a href="http://flexjson.sourceforge.net/">Flexjson</a> as below:</p> + +<div class="highlighter-rouge"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">flexjson.JSONSerializer</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">flexjson.transformer.DateTransformer</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.apache.struts2.json.JSONException</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.apache.struts2.json.JSONWriter</span><span class="o">;</span> + +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FlexJSONWriter</span> <span class="kd">implements</span> <span class="n">JSONWriter</span> <span class="o">{</span> + <span class="kd">private</span> <span class="n">String</span> <span class="n">dateFormatter</span><span class="o">;</span> + + <span class="kd">public</span> <span class="n">String</span> <span class="n">write</span><span class="o">(</span><span class="n">Object</span> <span class="n">object</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">JSONException</span> <span class="o">{</span> + <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">object</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="kc">false</span><span class="o">);</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="n">String</span> <span class="n">write</span><span class="o">(</span><span class="n">Object</span> <span class="n">object</span><span class="o">,</span> <span class="n">Collection</span><span class="o"><</span><span class="n">Pattern</span><span class="o">></span> <span class="n">excludeProperties</span><span class="o">,</span> <span class="n">Collection</span><span class="o"><</span><span class="n">Pattern</span><span class="o">&g [...] + <span class="kt">boolean</span> <span class="n">excludeNullProperties</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">JSONException</span> <span class="o">{</span> + + <span class="n">JSONSerializer</span> <span class="n">serializer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">JSONSerializer</span><span class="o">();</span> + <span class="k">if</span> <span class="o">(</span><span class="n">excludeProperties</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span> + <span class="k">for</span> <span class="o">(</span><span class="n">Pattern</span> <span class="n">p</span> <span class="o">:</span> <span class="n">excludeProperties</span><span class="o">)</span> <span class="o">{</span> + <span class="n">serializer</span> <span class="o">=</span> <span class="n">serializer</span><span class="o">.</span><span class="na">exclude</span><span class="o">(</span><span class="n">p</span><span class="o">.</span><span class="na">pattern</span><span class="o">());</span> + <span class="o">}</span> + <span class="o">}</span> + <span class="k">if</span> <span class="o">(</span><span class="n">includeProperties</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span> + <span class="k">for</span> <span class="o">(</span><span class="n">Pattern</span> <span class="n">p</span> <span class="o">:</span> <span class="n">includeProperties</span><span class="o">)</span> <span class="o">{</span> + <span class="n">serializer</span> <span class="o">=</span> <span class="n">serializer</span><span class="o">.</span><span class="na">include</span><span class="o">(</span><span class="n">p</span><span class="o">.</span><span class="na">pattern</span><span class="o">());</span> + <span class="o">}</span> + <span class="o">}</span> + <span class="k">if</span> <span class="o">(</span><span class="n">excludeNullProperties</span><span class="o">)</span> <span class="o">{</span> + <span class="n">serializer</span> <span class="o">=</span> <span class="n">serializer</span><span class="o">.</span><span class="na">transform</span><span class="o">(</span><span class="k">new</span> <span class="n">ExcludeTransformer</span><span class="o">(),</span> <span class="kt">void</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + <span class="o">}</span> + <span class="k">if</span> <span class="o">(</span><span class="n">dateFormatter</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span> + <span class="n">serializer</span> <span class="o">=</span> <span class="n">serializer</span><span class="o">.</span><span class="na">transform</span><span class="o">(</span><span class="k">new</span> <span class="n">DateTransformer</span><span class="o">(</span><span class="n">dateFormatter</span><span class="o">),</span> <span class="n">Date</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + <span class="o">}</span> + <span class="k">return</span> <span class="n">serializer</span><span class="o">.</span><span class="na">serialize</span><span class="o">(</span><span class="n">object</span><span class="o">);</span> + <span class="o">}</span> + <span class="c1">//...</span> +</code></pre> +</div> + +<blockquote> + <p>Flexjson is a lightweight library for serializing and deserializing Java objects into and from JSON.</p> +</blockquote> + <h2 id="example">Example</h2> <h3 id="setup-action">Setup Action</h3> -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" <commits@struts.apache.org>'].