1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<code>// 先導入gson的jar包</code>
<code>// gson的一般使用方法</code>
<code>// class的屬性名必須與json字元串中的key大小寫完全一緻</code>
<code> </code>
<code> </code><code>//解析JSONArray</code>
<code> </code><code>private</code> <code>void</code> <code>parseJSONArray()</code>
<code> </code><code>{</code>
<code> </code><code>String jsonArr = </code><code>"[{'key1':'value1', 'key2':'value2'}, {'key1':'value1', 'key2':'value2'}]"</code><code>;</code>
<code> </code><code>Gson gson = </code><code>new</code> <code>Gson();</code>
<code> </code><code>java.lang.reflect.Type type = </code><code>new</code> <code>com.google.gson.reflect.TypeToken<List<JsonData>>()</code>
<code> </code><code>{</code>
<code> </code><code>}.getType();</code>
<code> </code><code>List<JsonData> fromJson = gson.fromJson(jsonArr, type);</code>
<code> </code><code>mTextView.setText(fromJson.toString());</code>
<code> </code><code>}</code>
<code> </code><code>//解析JSONObject</code>
<code> </code><code>private</code> <code>void</code> <code>parseJSONObject()</code>
<code> </code><code>String jsonObj = </code><code>"{'key1':'value1', 'key2':'value2'}"</code><code>;</code>
<code> </code><code>JsonData jsonData = gson.fromJson(jsonObj, JsonData.</code><code>class</code><code>);</code>
<code> </code><code>mTextView.setText(jsonData.toString());</code>
<code> </code><code>class</code> <code>JsonData</code><code>//屬性必須與json裡面的key一緻</code>
<code> </code><code>String key1;</code>
<code> </code><code>String key2;</code>
<code> </code><code>@Override</code>
<code> </code><code>public</code> <code>String toString()</code>
<code> </code><code>return</code> <code>"JSON1 [key1="</code> <code>+ key1 + </code><code>", key2="</code> <code>+ key2 + </code><code>"]"</code><code>;</code>
<code> </code><code>}</code>
注:
1.參數類型不能是ArrayList,而是List
<code>public</code> <code>class</code> <code>TestJson</code>
<code>{</code>
<code> </code><code>public</code> <code>int</code> <code>Id;</code>
<code> </code><code>public</code> <code>String Name;</code>
<code> </code>
<code> </code><code>public</code> <code>ParamJson EstateParam;</code>
<code> </code><code>public</code> <code>List<String> Banners;</code><code>//此處參數類型不能是ArrayList,而是List </code>
<code>}</code>
<code>public</code> <code>class</code> <code>ParamJson</code>
<code> </code><code>public</code> <code>List<String> ListData;</code>
解析隻要一句代碼即可:
<code>TestJson mJson = ((TestJson) </code><code>new</code> <code>Gson().fromJson(str, TestJson.</code><code>class</code><code>));</code>
本文轉自 glblong 51CTO部落格,原文連結:http://blog.51cto.com/glblong/1230424,如需轉載請自行聯系原作者