String 转json对象、转实体类、String 转数组 | alibaba.fastjson
目录
说明
String 转数组
string 转jsonObject
string 转map
string 转实体
string 转list
常见错误
说明
常用的json工具类有alibaba.fastjson、net.sf.json,两个工具的使用方法不同。本文使用alibaba.fastjson工具类经行数据处理,引入com.alibaba.fastjson.JSON、com.alibaba.fastjson.JSONArray、com.alibaba.fastjson.JSONObject三个类。被转换的字符串必须严格符合json规则!
String 转数组
String arrayStr = "[" +" {\n" +" \"name\": \"jsonBaby\",\n" +" \"age\": 5,\n" +" \"timestamp\": 1585100309642\n" +" }\n" +" ]";
JSONArray data = JSON.parseArray(arrayStr);
System.out.println(data);
输出:[{"name":"jsonBaby","age":5,"timestamp":1585100309642}]
string 转jsonObject
String objectStr =" {\n" +" \"name\": \"jsonBaby\",\n" +" \"age\": 5,\n" +" }\n";
JSONObject object = JSON.parseObject(objectStr);
System.out.println("我是"+object.get("name")+",我"+object.get("age")+"岁了");
输出:我是jsonBaby,我5岁了
string 转map
String objectStr =" {\n" +" \"name\": \"jsonBaby\",\n" +" \"age\": 5,\n" +" }\n";
Map maps = (Map)JSON.parse(objectStr);
System.out.println("我是"+maps.get("name")+",我"+maps.get("age")+"岁了");
输出:我是jsonBaby,我5岁了
string 转实体类
新增实体
public class Student implements Serializable{private static final long serialVersionUID = -919201640201914789L;public String age;public String name;public Student(String age, String name) {this.age = age;this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
String objectStr =" {\n" +" \"name\": \"jsonBaby\",\n" +" \"age\": 5,\n" +" }\n";
//4.string 转实体
Student student = JSONObject.parseObject(objectStr,Student.class);
System.out.println("我是"+student.name+",我"+student.age+"岁了");
输出:我是jsonBaby,我5岁了
string 转list
String arrayStr = "[" +" {\n" +" \"name\": \"jsonBaby\",\n" +" \"age\": 5,\n" +" \"timestamp\": 1585100309642\n" +" }\n" +" ]";List<Student> list = JSONArray.parseArray(arrayStr,Student.class);
for(Student stud : list){System.out.println("我是"+stud.name+",我"+stud.age+"岁了");
}
输出:我是jsonBaby,我5岁了
常见错误
com.alibaba.fastjson.JSONException: expect ':' at 0, name name
这个错误是较常见的错误,因为json格式错误导致,冒号被转成了等于号。如果遇到了可以把源数据打印出来看一下是不是符合json规则。从接口返回的数据可以使用JSON.toJSON()方法先将字符串转换为json标准的数据。
String 转json对象、转实体类、String 转数组 | alibaba.fastjson相关推荐
- Android JSON数据与实体类之间的相互转化-------GSON的简单用法
Android JSON数据与实体类之间的相互转化-------GSON的用法 1_Gson的导入 1.1_方法一:直接导入jar包 1.2_方法二:引入依赖 2_json形式的字符串互转实体对象 2 ...
- JSON字符串和实体类的相互转化
文章目录 首先导入fastjson依赖 1.json字符串转化为java实体类 (parseObject) 2.json字符串转化为list对象 (parseArray) 3.json字符串转化为复杂 ...
- 将json字符串与实体类互相转换
文章目录 01.概述 02.对json字符串进行解析 使用实体类进行解析 使用实体类解析拓展 使用map进行解析 03.Map和json字符串的互相转换 3.1.json字符串转换为Map 3.2.M ...
- java类作为多层级的数据实体_API json多层数据实体类封装(利用泛型技术)
完整源码查看点击进入:github地址 1: API json多层数据实体类封装(利用泛型技术) RootEntity.java public class RootEntity{ private in ...
- android开发学习 ------- json数据与实体类之间的相互转换
在网络请求的时候,会返回给我们实体类,我们需要将实体类转化为json字符串,方便处理数据: 有时候也会将json数据转换为实体类. 在Android Studio中,json要互相转换,需要用到gso ...
- JSON对象转为Java类对象
本文讲述两种方法,使JSON对象转为Java类对象.基于FastJson1 对于以下的JSON对象: {"message": "成功","code&q ...
- json转换成实体类
今天同事问我个问题.她需要把字符串的json转换成实体类,但是一直报错.主要是实体类当中的内部类需要用静态字段static修饰,否则无法访问. 以下是报错信息 org.codehaus.jackson ...
- 【java学习】常用实体类--String、StringBuffer\StringTokenizer
文章目录 参数传递 String String类有两个常用构造方法: 引用String常量 String类的常用方法 StringBuffer和StringBuilder StringBuilder中 ...
- java String、Json对象与byte数组转换
用途 测试String对象与byte数组转换方式 测试Json对象与byte数组转换方式 源代码 import java.io.UnsupportedEncodingException; import ...
最新文章
- python自动输出_python自动化报告的输出
- 玩转数据结构从入门到进阶三
- PsList v1.28使用
- 型热电偶阻值温度对照表_如何选用温度传感器
- Linux下进行Web服务器压力(并发)测试工具http_load、webbench、ab、Siege、autobench简单使用教程(转)...
- BGP——OSPF与BGP协议联动(出现问题+解决方案配置)
- MAC 下用GCC编译报错:“Undefined symbols for architecture x86_64: ”
- JS-以鼠标位置为中心的滑轮放大功能demo1
- 原生JDBC连接MySQL数据库踩的坑
- 线上python课程一般多少钱-python培训班一般多少钱?一篇文章告诉你
- 在VC中使用SendInput函数实现中文的自动输入
- 微服务架构:统一身份认证和授权技术解决方案
- 当当网上书店购物车——源码
- 广义线性模型之泊松回归
- 师从施一公,4年8篇CNS,作为西湖大学博士后,她又以一作发了Science
- mysql5.5启动图解_MySQL5.5.19安装图解_MySQL
- telnet不是内部或外部命令怎么办
- idea社区版配置jsp
- 光伏逆变simlink仿真(MPPT) 最大功率点追踪算法(MPPT)仿真模型,本设计基于扰动观察法(PO)最大功率点跟踪算法追踪光伏电池的发电曲线
- 1063 计算谱半径(JAVA)
热门文章
- java返回列表_从Java 8中的方法返回列表?
- 四川计算机专业三本大学排名,2021四川三本大学排名 三本院校有哪些
- 蓝宝石PK大猩猩玻璃:作为屏幕谁更有优势?
- 计算机硬盘换,电脑硬盘更换步骤
- Anaconda(Miniconda)的安装配置与简单使用
- chatGPT聊天记录:小王子与玫瑰
- web前端入门:Html、CSS完成九宫格
- C# winform 将EXCEL导入datagridview
- 【Matplotlib】python绘图,同时沿x、y、z轴方向渐变颜色(按多轴渐变色)
- 【云原生 | Kubernetes 实战】18、K8s 安全实战篇之 RBAC 认证授权(下)