如何在 Java 中解析 JSON
2022/2/20 17:26:36
本文主要是介绍如何在 Java 中解析 JSON,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
注:本文转自《白煮蛋的博客》
你可以使用谷歌 Gson。
使用这个库,您只需要创建一个具有相同 JSON 结构的模型。然后模型会自动填充。您必须将变量称为 JSON 键,或者@SerializedName如果您想使用不同的名称,请使用。
JSON
从你的例子:
<span style="background-color:var(--highlight-bg)"><span style="color:var(--highlight-color)"><code class="language-json">{ <span style="color:var(--highlight-attribute)">"pageInfo"</span>: { <span style="color:var(--highlight-attribute)">"pageName"</span>: <span style="color:var(--highlight-variable)">"abc"</span>, <span style="color:var(--highlight-attribute)">"pagePic"</span>: <span style="color:var(--highlight-variable)">"http://example.com/content.jpg"</span> } <span style="color:var(--highlight-attribute)">"posts"</span>: [ { <span style="color:var(--highlight-attribute)">"post_id"</span>: <span style="color:var(--highlight-variable)">"123456789012_123456789012"</span>, <span style="color:var(--highlight-attribute)">"actor_id"</span>: <span style="color:var(--highlight-variable)">"1234567890"</span>, <span style="color:var(--highlight-attribute)">"picOfPersonWhoPosted"</span>: <span style="color:var(--highlight-variable)">"http://example.com/photo.jpg"</span>, <span style="color:var(--highlight-attribute)">"nameOfPersonWhoPosted"</span>: <span style="color:var(--highlight-variable)">"Jane Doe"</span>, <span style="color:var(--highlight-attribute)">"message"</span>: <span style="color:var(--highlight-variable)">"Sounds cool. Can't wait to see it!"</span>, <span style="color:var(--highlight-attribute)">"likesCount"</span>: <span style="color:var(--highlight-variable)">"2"</span>, <span style="color:var(--highlight-attribute)">"comments"</span>: [], <span style="color:var(--highlight-attribute)">"timeOfPost"</span>: <span style="color:var(--highlight-variable)">"1234567890"</span> } ] } </code></span></span>
模型
<span style="background-color:var(--highlight-bg)"><span style="color:var(--highlight-color)"><code class="language-java"><span style="color:var(--highlight-keyword)">class</span> <span style="color:var(--highlight-literal)">MyModel</span> { <span style="color:var(--highlight-keyword)">private</span> PageInfo pageInfo; <span style="color:var(--highlight-keyword)">private</span> ArrayList<Post> posts = <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">ArrayList</span><>(); } <span style="color:var(--highlight-keyword)">class</span> <span style="color:var(--highlight-literal)">PageInfo</span> { <span style="color:var(--highlight-keyword)">private</span> String pageName; <span style="color:var(--highlight-keyword)">private</span> String pagePic; } <span style="color:var(--highlight-keyword)">class</span> <span style="color:var(--highlight-literal)">Post</span> { <span style="color:var(--highlight-keyword)">private</span> String post_id; <span style="color:var(--highlight-keyword)">@SerializedName("actor_id")</span> <span style="color:var(--highlight-comment)">// <- example SerializedName</span> <span style="color:var(--highlight-keyword)">private</span> String actorId; <span style="color:var(--highlight-keyword)">private</span> String picOfPersonWhoPosted; <span style="color:var(--highlight-keyword)">private</span> String nameOfPersonWhoPosted; <span style="color:var(--highlight-keyword)">private</span> String message; <span style="color:var(--highlight-keyword)">private</span> String likesCount; <span style="color:var(--highlight-keyword)">private</span> ArrayList<String> comments; <span style="color:var(--highlight-keyword)">private</span> String timeOfPost; } </code></span></span>
解析
现在您可以使用 Gson 库进行解析:
<span style="background-color:var(--highlight-bg)"><span style="color:var(--highlight-color)"><code class="language-java"><span style="color:var(--highlight-namespace)">MyModel</span> <span style="color:var(--highlight-variable)">model</span> = gson.fromJson(jsonString, MyModel.class); </code></span></span>
Gradle 导入
记得在 app Gradle 文件中导入库
<span style="background-color:var(--highlight-bg)"><span style="color:var(--highlight-color)"><code class="language-java">implementation <span style="color:var(--highlight-variable)">'com.google.code.gson:gson:2.8.6'</span> <span style="color:var(--highlight-comment)">// or earlier versions</span> </code></span></span>
自动模型生成
您可以使用这样的在线工具从 JSON 自动生成模型。
这篇关于如何在 Java 中解析 JSON的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南