文章目录
1 源数据
{
"code":200,
"msg":"success",
"data":{
"name":"导演",
"age":20,
"sex":"girl"
}
}
{
"code":200,
"msg":"success",
"data":[
{
"name":"导演",
"age":20,
"sex":"girl"
},{
"name":"灰太狼",
"age":21,
"sex":"boy"
},{
"name":"有勇气的牛排",
"age":19,
"sex":"girl"
}
]
}
2 方案
2.1 maven 阿里 fastjson
-
fastjson地址
-
fastjson指南
-
安卓版本(未测)
http:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>
2.1.1 解析JSON对象
String jsonData="{\n" +
" \"code\":200,\n" +
" \"msg\":\"success\",\n" +
" \"data\":{\n" +
" \"name\":\"导演\",\n" +
" \"age\":20,\n" +
" \"sex\":\"girl\"\n" +
" }\n" +
"}";
JSONObject object= JSONObject.parseObject(jsonData);
System.out.println(object.get("code"));
System.out.println(object.getJSONObject("data").get("name"));
System.out.println(object.getJSONObject("data").get("age"));
System.out.println(object.getJSONObject("data").get("sex"));

2.1.2 解析JSON对象数组
String jsonData="{\n" +
" \"code\":200,\n" +
" \"msg\":\"success\",\n" +
" \"data\":[\n" +
" {\n" +
" \"name\":\"导演\",\n" +
" \"age\":20,\n" +
" \"sex\":\"girl\"\n" +
" },{\n" +
" \"name\":\"灰太狼\",\n" +
" \"age\":21,\n" +
" \"sex\":\"boy\"\n" +
" },{\n" +
" \"name\":\"有勇气的牛排\",\n" +
" \"age\":19,\n" +
" \"sex\":\"girl\"\n" +
" }\n" +
" ]\n" +
"}";
JSONObject object= JSONObject.parseObject(jsonData);
List<HashMap> list =JSON.parseArray((object.get("data")).toString(), HashMap.class);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).get("name"));;
}

参考文章
https://www.runoob.com/w3cnote/fastjson-intro.html
https://qushen.blog.csdn.net/article/details/83515840
<p><h3>文章目录</h3><ul><ul><li><a href="#1__2">1 源数据</a></li><li><a href="#2__37">2 方案</a></li><ul><li><a href="#21_maven__fastjson_38">2.1 maven 阿里 fastjson</a></li><ul><li><a href="#211_JSON_56">2.1.1 解析JSON对象</a></li><li><a href="#212_JSON_82">2.1.2 解析JSON对象数组</a></li></ul></ul></ul></ul></p>
<h2><a id="1__2"></a>1 源数据</h2>
<pre><div class="hljs"><code class="lang-json"><span class="hljs-punctuation">{</span>
<span class="hljs-attr">"code"</span><span class="hljs-punctuation">:</span><span class="hljs-number">200</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"msg"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"success"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"data"</span><span class="hljs-punctuation">:</span><span class="hljs-punctuation">{</span>
<span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"导演"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"age"</span><span class="hljs-punctuation">:</span><span class="hljs-number">20</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"sex"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"girl"</span>
<span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>
</code></div></pre>
<pre><div class="hljs"><code class="lang-json"><span class="hljs-punctuation">{</span>
<span class="hljs-attr">"code"</span><span class="hljs-punctuation">:</span><span class="hljs-number">200</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"msg"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"success"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"data"</span><span class="hljs-punctuation">:</span><span class="hljs-punctuation">[</span>
<span class="hljs-punctuation">{</span>
<span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"导演"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"age"</span><span class="hljs-punctuation">:</span><span class="hljs-number">20</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"sex"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"girl"</span>
<span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><span class="hljs-punctuation">{</span>
<span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"灰太狼"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"age"</span><span class="hljs-punctuation">:</span><span class="hljs-number">21</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"sex"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"boy"</span>
<span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><span class="hljs-punctuation">{</span>
<span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"有勇气的牛排"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"age"</span><span class="hljs-punctuation">:</span><span class="hljs-number">19</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"sex"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"girl"</span>
<span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">]</span>
<span class="hljs-punctuation">}</span>
</code></div></pre>
<h2><a id="2__37"></a>2 方案</h2>
<h3><a id="21_maven__fastjson_38"></a>2.1 maven 阿里 fastjson</h3>
<ol>
<li>
<p><a href="https://github.com/alibaba/fastjson" target="_blank">fastjson地址</a></p>
</li>
<li>
<p><a href="https://github.com/alibaba/fastjson/wiki/Quick-Start-CN" target="_blank">fastjson指南</a></p>
</li>
<li>
<p>安卓版本(未测)</p>
<pre><div class="hljs"><code class="lang-java">http:<span class="hljs-comment">//repo1.maven.org/maven2/com/alibaba/fastjson/1.1.51.android/</span>
</code></div></pre>
</li>
</ol>
<pre><div class="hljs"><code class="lang-xml"><span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>com.alibaba<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>fastjson<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">version</span>></span>1.2.28<span class="hljs-tag"></<span class="hljs-name">version</span>></span>
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
</code></div></pre>
<h4><a id="211_JSON_56"></a>2.1.1 解析JSON对象</h4>
<pre><div class="hljs"><code class="lang-java">String jsonData=<span class="hljs-string">"{\n"</span> +
<span class="hljs-string">" \"code\":200,\n"</span> +
<span class="hljs-string">" \"msg\":\"success\",\n"</span> +
<span class="hljs-string">" \"data\":{\n"</span> +
<span class="hljs-string">" \"name\":\"导演\",\n"</span> +
<span class="hljs-string">" \"age\":20,\n"</span> +
<span class="hljs-string">" \"sex\":\"girl\"\n"</span> +
<span class="hljs-string">" }\n"</span> +
<span class="hljs-string">"}"</span>;
</code></div></pre>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-comment">//先把String对象转换成json对象</span>
JSONObject object= JSONObject.parseObject(jsonData);
System.out.println(object.get(<span class="hljs-string">"code"</span>));
System.out.println(object.getJSONObject(<span class="hljs-string">"data"</span>).get(<span class="hljs-string">"name"</span>));
System.out.println(object.getJSONObject(<span class="hljs-string">"data"</span>).get(<span class="hljs-string">"age"</span>));
System.out.println(object.getJSONObject(<span class="hljs-string">"data"</span>).get(<span class="hljs-string">"sex"</span>));
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/a7c8fdb72ca049dd171cc9d932ef066e.png" alt="image.png" /></p>
<h4><a id="212_JSON_82"></a>2.1.2 解析JSON对象数组</h4>
<pre><div class="hljs"><code class="lang-java">String jsonData=<span class="hljs-string">"{\n"</span> +
<span class="hljs-string">" \"code\":200,\n"</span> +
<span class="hljs-string">" \"msg\":\"success\",\n"</span> +
<span class="hljs-string">" \"data\":[\n"</span> +
<span class="hljs-string">" {\n"</span> +
<span class="hljs-string">" \"name\":\"导演\",\n"</span> +
<span class="hljs-string">" \"age\":20,\n"</span> +
<span class="hljs-string">" \"sex\":\"girl\"\n"</span> +
<span class="hljs-string">" },{\n"</span> +
<span class="hljs-string">" \"name\":\"灰太狼\",\n"</span> +
<span class="hljs-string">" \"age\":21,\n"</span> +
<span class="hljs-string">" \"sex\":\"boy\"\n"</span> +
<span class="hljs-string">" },{\n"</span> +
<span class="hljs-string">" \"name\":\"有勇气的牛排\",\n"</span> +
<span class="hljs-string">" \"age\":19,\n"</span> +
<span class="hljs-string">" \"sex\":\"girl\"\n"</span> +
<span class="hljs-string">" }\n"</span> +
<span class="hljs-string">" ]\n"</span> +
<span class="hljs-string">"}"</span>;
</code></div></pre>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-comment">//先把String对象转换成json对象</span>
JSONObject object= JSONObject.parseObject(jsonData);
List<HashMap> list =JSON.parseArray((object.get(<span class="hljs-string">"data"</span>)).toString(), HashMap.class);
<span class="hljs-keyword">for</span>(<span class="hljs-type">int</span> i=<span class="hljs-number">0</span>;i<list.size();i++){
System.out.println(list.get(i).get(<span class="hljs-string">"name"</span>));;
}
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/3fa9cee35b181ed3ff744abd4d32b65a.png" alt="image.png" /></p>
<p>参考文章<br />
https://www.runoob.com/w3cnote/fastjson-intro.html<br />
https://qushen.blog.csdn.net/article/details/83515840</p>
留言