文章目录

  • 一、使用 JsonSlurper 进行 json 字符串反序列化
  • 二、根据 map 集合构造相关类
  • 三、完整代码示例

一、使用 JsonSlurper 进行 json 字符串反序列化


将如下 json 字符串

{"age":18,"name":"Tom"}

进行反序列化 ;

首先 , 创建 JsonSlurper 对象 ,

def jsonSlurper = new JsonSlurper()

然后 , 调用该 JsonSlurper 对象的 parse 方法 , 可以对不同类型的 json 数据进行反序列化 ;

可进行反序列化的 json 数据类型如下图所示 :

这里调用 jsonSlurper 对象的 parseText 方法 , 将 json 字符串进行反序列化操作 ;

// 将字符串进行 json 反序列化操作 , 得到 map 集合
def jsonObject = jsonSlurper.parseText('{"age":18,"name":"Tom"}');

打印反序列化结果 ,

// 打印反序列化结果
println jsonObject

执行结果如下 :

[age:18, name:Tom]

二、根据 map 集合构造相关类


在上面的章节将 json 字符串

{"age":18,"name":"Tom"}

进行反序列化 , 得到

[age:18, name:Tom]

map 集合 ;

该 map 集合可以直接赋值给相应类对象 , 该类的变量名就是 map 集合的 Key 键 ;

// 根据 map 集合的 Key 构造类
class Student {def namedef age
}

直接将 map 集合赋值给构造的类对象 , 并打印该对象的成员变量值 ;

// 直接将 map 集合赋值给构造的类对象
Student student = jsonObject
// 打印类对象的成员变量值
println "${student.name} , ${student.age}"

执行结果为 :

Tom , 18

三、完整代码示例


完整代码示例 :

import groovy.json.JsonSlurper// 将 {"age":18,"name":"Tom"} 字符串进行反序列化
def jsonSlurper = new JsonSlurper()// 将字符串进行 json 反序列化操作 , 得到 map 集合
def jsonObject = jsonSlurper.parseText('{"age":18,"name":"Tom"}');
// 打印反序列化结果
println jsonObject// 根据 map 集合的 Key 构造类
class Student {def namedef age
}// 直接将 map 集合赋值给构造的类对象
Student student = jsonObject
// 打印类对象的成员变量值
println "${student.name} , ${student.age}"

执行结果 :

[age:18, name:Tom]
Tom , 18

【Groovy】json 字符串反序列化 ( 使用 JsonSlurper 进行 json 字符串反序列化 | 根据 map 集合构造相关类 )相关推荐

  1. Map集合练习之对字符串中字母出现的次数求和

    代码需求 如有这么一个字符串 String str = "fdg+avAdc bs5dDa9c-dfs"; MapTest.java package zhouls.bigdata. ...

  2. leetcode1170-比较字符串最小字母出现频次(Map集合存储数组中每个字符串最小元素对应出现频次)

    目录 1. 题目: 2.分析: 3.思路: 4.代码实现: 1. 题目: 2.分析: 分析题目意思,queries中每个词都需要和words中全部单词比较,每个词的出现频次最小的单词的次数和words ...

  3. fastjson list转json字符串_程序员:JSON、JSONObject 与 JSONArray 简单讲解

    fastjson简介 fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 ...

  4. java中字符串String格式转化成json格式

    一.将Sting转为Json 在开发中,经常是前端发送一串数据过来之后,是通过一个参数带着一串值过来,这一串值是String 格式的,但是里面的内容其实是json格式类型的,所以拿到值之后就要将该值转 ...

  5. java字符串数组转json_java中字符串String格式转化成json格式

    java字符串数组转json_java中字符串String格式转化成json格式 String s= Connection.deleteHost("10310");System.o ...

  6. 【JSON教科书】什么是JSON,JSON字符串有什么作用?(JSON学习总结)

    文章目录 @[toc] 一.了解Json 3.1 什么是Json 二.简单Json语法 2.1 语法 3.2.1 Json语法记忆规则 三.Json字符串的手写转换 JavaBean类对象 Json简 ...

  7. Java解析JSON时,new JSONObject(这儿写json字符串)报错问题

    在获取json字符串后Java使用api创建json对象报错,查阅资料解决该问题: 问题原因:net.sf.json.jsonobject 没有 new JSONObject(String)的构造方法 ...

  8. python接口返回json处理_python 接口返回的json字符串实例

    如下所示: JSON 函数 使用 JSON 函数需要导入 json 库:import json. 函数描述 json.dumps将 Python 对象编码成 JSON 字符串 json.loads将已 ...

  9. html5 json转字符串,web前端-js小记(5)-字符串及json

    0. 对于 HTTP 协议而言,HTML.CSS.JS.JSON 的本质都是什么? 对于HTTP协议而言,html.css.js.json是符合相应语法的字符串. 用户访问页面时,浏览器根据用户的请求 ...

最新文章

  1. Myeclipse 8.0 +Flash builder 4 plugin 的实现
  2. Reporting Services 安装的备份和还原操作
  3. matlab 图像分割 提取人像_数字图像处理实验合集(含代码、报告)
  4. 高精度减法(C++实现)
  5. android fastjson漏洞_【漏洞预警】Fastjson 远程代码执行漏洞(暂无PoC)
  6. 内存的使用和优化的注意事项
  7. Linux远程管理协议相关知识介绍
  8. 无线模块在“水盾”防溺水安全预警系统的应用
  9. gm怎么刷东西 rust_Rust语言:解引用详述,搞不明白这个概念,趁早放弃Rust
  10. 远控免杀专题(19)-nps_payload免杀
  11. 解决企业人力短缺难题?且看RPA如何大展身手!
  12. [LeetCode] Sum of Left Leaves 左子叶之和
  13. 计算机课评课用语,【数学评课50条】_评课常用语50条
  14. Http状态码大全(很全面)
  15. thinkadmin下拉框实现默认选中
  16. 【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers
  17. 2020年最好用的chrome插件-CSDN浏览器助手评测
  18. html课堂考勤系统源码,考勤管理系统课程设计源码
  19. linux grep正则表达式与grep用法详解
  20. ABAP中时间戳的处理

热门文章

  1. Ubuntu系统如何卸载并安装新版本的jdk(permission denied问题)
  2. 从前端角度来看网页设计
  3. 6大设计原则之依赖倒置原则
  4. linux常用性能分析命令详解#TOP
  5. 简单的小程序实现ATM机操作
  6. Bootstrap File Input 真正 解决跨域问题
  7. UpdatePanel 内的RadioButton 还是会刷新页面
  8. Android内容观察者
  9. HDOJ2795 Billboard【线段树】
  10. (转)另一篇:VC导出数据到EXCEL