Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。那fastjson如何查看版本?接下来我们就来给大家讲解一下这方面的内容。
看Maven的pom.xml配置文件<artifactId>fastjson</artifactId>
<version>1.2.13</version>
fastjson如何解析json数据?
一:测试json数据如下:
{ 'cat': 'it' , 'language': [ { 'id': 1 , 'ide': 'eclipse' , 'name': 'Java' }, { 'id': 2 , 'ide': 'XCode' , 'name': 'Swift' }, { 'id': 3 , 'ide': 'Visual Stdio' , 'name': 'C#' } ] , 'pop': true }
二:新建Student类,
public class Student { String name; int id; String ide; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getIde() { return ide; } public void setIde(String ide) { this.ide = ide; } @Override public String toString() { return "Student [name=" + name + ", id=" + id + ", ide=" + ide + "]"; } }
三:接下来用fastjson进行解析,
public class TestJson { public static void main(String[] args) { String jsonStr = "{'cat':'it','language':[{'id':1,'ide':'eclipse','name':'Java'},{'id':2,'ide':'XCode','name':'Swift'},{'id':3,'ide':'Visual Stdio','name':'C#'}],'pop':true}"; JSONObject jsonObject = JSONObject.parseObject(jsonStr); JSONArray jsonArray = jsonObject.getJSONArray("language"); for (int i = 0; i < jsonArray.size(); i++) { JSONObject object = jsonArray.getJSONObject(i); String name = object.getString("name"); String ide = object.getString("ide"); int id = object.getIntValue("id"); Student stu = new Student(); stu.setId(id); stu.setIde(ide); stu.setName(name); System.out.println(stu.toString()); } } }
四:fastjson还有更方便的方法,进行解析,
public class TestJson { public static void main(String[] args) { String jsonStr = "{'cat':'it','language':[{'id':1,'ide':'eclipse','name':'Java'},{'id':2,'ide':'XCode','name':'Swift'},{'id':3,'ide':'Visual Stdio','name':'C#'}],'pop':true}"; JSONObject jsonObject = JSONObject.parseObject(jsonStr); JSONArray jsonArray = jsonObject.getJSONArray("language"); for (int i = 0; i < jsonArray.size(); i++) { JSONObject object = jsonArray.getJSONObject(i); Student stu = JSON.toJavaObject(object, Student.class); System.out.println(stu.toString()); } } }
五:运行结果如下:
Fastjson 特性:
提供服务器端、安卓客户端两种解析工具,性能表现较好。
提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。
允许转换预先存在的无法修改的对象(只有class、无源代码)。
Java泛型的广泛支持。
允许对象的自定义表示、允许自定义序列化类。
支持任意复杂对象(具有深厚的继承层次和广泛使用的泛型类型)。
看完文章之后大家应该知道Fastjson的相关内容了吧,可以说,Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象,最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: