专栏首页软件工程师成长笔记Json字符串转JsonObject例子

Json字符串转JsonObject例子

1、Gson

Gson是Google发布的一个开源Java类库,能够很方便的在Java对象和JSON字符串之间进行序列化和反序列化。

<!-- Gson maven项目依赖 -->
<dependency>  
  <groupId>com.google.code.gson</groupId>  
  <artifactId>gson</artifactId>  
  <version>2.2.2</version>  
</dependency>

代码实现

//Json字符串转Json对象
JsonObject departmentJsonObj = new JsonParser().parse(allDepartmentStr).getAsJsonObject();
String dept = departmentJsonObj .get("department").toString();
//JsonObject转Json数组
JsonArray deptListArray = departmentIdListJsonObj.getAsJsonArray("department");

注意,当所解析的Json字符串中某个参数中是带双引号的,还需要去“”,如:

{ "name": "username", "age": 20, "admin": true } 如果我想取name,做如下写,如果不加replaceAll(),name取出的是“username”,会有双引号的。而使用方法2的FastJson就不需要去双引号。

JsonObject userJsonObj = new JsonParser().parse(userJsonStr).getAsJsonObject();
String userName = userJsonObj .get("name").toString().replaceAll("\"", "");

2、FastJson

Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。 1、遵循http://json.org标准,为其官方网站收录的参考实现之一。 2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。 3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。 4、开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home 5、具有超高的性能,java世界里没有其他的json库能够和fastjson可相比了。

<!-- FastJson在maven项目依赖 -->
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>1.2.27</version>
</dependency>

代码实现

//Json字符串转Json对象
JSONObject accessTokenJsonObject = JSONObject.parseObject(accessTokenJsonStr);
accessToken = accessTokenJsonObject.getString("access_token");

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SSM框架——干净详细的整合学习教程(Spring+SpringMVC+MyBatis)

    熟悉MVC的同学都知道,MVC即model(模型)、view(视图)、controller(控制),用一种业务逻辑,数据,界面显示分离的方式使得开发更加的便捷高...

    麦克劳林
  • Springboot框架集成MySQL、RabbitMQ、Redis、Logback日志、Quartz定时任务

    网上关于创建Springboot项目的案例有很多,此处就不阐述,提供一个参考案例:使用IDEA创建一个springboot项目

    麦克劳林
  • 复选框实现子节点父节点联动

    麦克劳林
  • Spring事务管理

    事务的特性: 原子性:事务不可分割 一致性:事务执行前后数据完整性保持一致 隔离性:一个事务的执行不应该受到其他事务的干扰 持久性:一旦事务结束,数据就持久到数...

    用户3112896
  • 揭秘AngularJS工作原理

    从本质上讲,在浏览器加载AngularJS web应用的方式与加载非AngularJS引用的方式一样。但是,它们的运行方式略有不同。

    奋飛
  • 用Python分析淘宝2000款避孕套,得出这些有趣的结论

    数据分析之前我们需要清楚的知道自己想要分析什么东西,也就是先搞清楚我们的目标。在公司可能是公司财报、用户增量变化、产品受欢迎程度、一些报表等等。

    小小詹同学
  • CodeSmith系列(二)——使用CodeSmith生成ASP.NET后台代码

    雪雁-心莱科技
  • 智能语音领域的DxOMark, Vocalize.ai

    人类与计算机的融合历经几十年,早期的交互方式以机械电子方式为主,如,键盘,鼠标,触控板。但近些年一个明显的趋势是基于生物传感技术,通过触觉,声觉,和视觉的交互方...

    用户6026865
  • LncCeRbase:人类lncRNA相关ceRNA数据库

    lncRNA可以作为miRNA sponge与miRNA发生相互作用,通过竞争性的结合miRNA, 可以调控其他基因的表达量, 发挥ceRNA的调控功能。

    生信修炼手册
  • schema 验证python数据格式

    from schema import Schema Schema(int).validate(10) 10 Schema(int).validate('10')...

    py3study

扫码关注云+社区

领取腾讯云代金券