目录

说明

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相关推荐

  1. Android JSON数据与实体类之间的相互转化-------GSON的简单用法

    Android JSON数据与实体类之间的相互转化-------GSON的用法 1_Gson的导入 1.1_方法一:直接导入jar包 1.2_方法二:引入依赖 2_json形式的字符串互转实体对象 2 ...

  2. JSON字符串和实体类的相互转化

    文章目录 首先导入fastjson依赖 1.json字符串转化为java实体类 (parseObject) 2.json字符串转化为list对象 (parseArray) 3.json字符串转化为复杂 ...

  3. 将json字符串与实体类互相转换

    文章目录 01.概述 02.对json字符串进行解析 使用实体类进行解析 使用实体类解析拓展 使用map进行解析 03.Map和json字符串的互相转换 3.1.json字符串转换为Map 3.2.M ...

  4. java类作为多层级的数据实体_API json多层数据实体类封装(利用泛型技术)

    完整源码查看点击进入:github地址 1: API json多层数据实体类封装(利用泛型技术) RootEntity.java public class RootEntity{ private in ...

  5. android开发学习 ------- json数据与实体类之间的相互转换

    在网络请求的时候,会返回给我们实体类,我们需要将实体类转化为json字符串,方便处理数据: 有时候也会将json数据转换为实体类. 在Android Studio中,json要互相转换,需要用到gso ...

  6. JSON对象转为Java类对象

    本文讲述两种方法,使JSON对象转为Java类对象.基于FastJson1 对于以下的JSON对象: {"message": "成功","code&q ...

  7. json转换成实体类

    今天同事问我个问题.她需要把字符串的json转换成实体类,但是一直报错.主要是实体类当中的内部类需要用静态字段static修饰,否则无法访问. 以下是报错信息 org.codehaus.jackson ...

  8. 【java学习】常用实体类--String、StringBuffer\StringTokenizer

    文章目录 参数传递 String String类有两个常用构造方法: 引用String常量 String类的常用方法 StringBuffer和StringBuilder StringBuilder中 ...

  9. java String、Json对象与byte数组转换

    用途 测试String对象与byte数组转换方式 测试Json对象与byte数组转换方式 源代码 import java.io.UnsupportedEncodingException; import ...

最新文章

  1. python自动输出_python自动化报告的输出
  2. 玩转数据结构从入门到进阶三
  3. PsList v1.28使用
  4. 型热电偶阻值温度对照表_如何选用温度传感器
  5. Linux下进行Web服务器压力(并发)测试工具http_load、webbench、ab、Siege、autobench简单使用教程(转)...
  6. BGP——OSPF与BGP协议联动(出现问题+解决方案配置)
  7. MAC 下用GCC编译报错:“Undefined symbols for architecture x86_64: ”
  8. JS-以鼠标位置为中心的滑轮放大功能demo1
  9. 原生JDBC连接MySQL数据库踩的坑
  10. 线上python课程一般多少钱-python培训班一般多少钱?一篇文章告诉你
  11. 在VC中使用SendInput函数实现中文的自动输入
  12. 微服务架构:统一身份认证和授权技术解决方案
  13. 当当网上书店购物车——源码
  14. 广义线性模型之泊松回归
  15. 师从施一公,4年8篇CNS,作为西湖大学博士后,她又以一作发了Science
  16. mysql5.5启动图解_MySQL5.5.19安装图解_MySQL
  17. telnet不是内部或外部命令怎么办
  18. idea社区版配置jsp
  19. 光伏逆变simlink仿真(MPPT) 最大功率点追踪算法(MPPT)仿真模型,本设计基于扰动观察法(PO)最大功率点跟踪算法追踪光伏电池的发电曲线
  20. 1063 计算谱半径(JAVA)

热门文章

  1. java返回列表_从Java 8中的方法返回列表?
  2. 四川计算机专业三本大学排名,2021四川三本大学排名 三本院校有哪些
  3. 蓝宝石PK大猩猩玻璃:作为屏幕谁更有优势?
  4. 计算机硬盘换,电脑硬盘更换步骤
  5. Anaconda(Miniconda)的安装配置与简单使用
  6. chatGPT聊天记录:小王子与玫瑰
  7. web前端入门:Html、CSS完成九宫格
  8. C# winform 将EXCEL导入datagridview
  9. 【Matplotlib】python绘图,同时沿x、y、z轴方向渐变颜色(按多轴渐变色)
  10. 【云原生 | Kubernetes 实战】18、K8s 安全实战篇之 RBAC 认证授权(下)