广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州list和json字符串如何互转?_北大青鸟IT学校

作者:邓华发布时间:2021-06-10分类:Java技术浏览:1350


导读:list和json字符串如何互转?相信这是每个学习Java的同学都会遇到的问题,下面我们一起来看看惠州北大青鸟老师是怎么回答的。

list和json字符串如何互转?相信这是每个学习Java的同学都会遇到的问题,下面我们一起来看看惠州北大青鸟老师是怎么回答的。

list--》》json字符串

  1. public static void listToJSON(){

  2. Student stu=new Student();

  3. stu.setName("JSON");

  4. stu.setAge("23");

  5. stu.setAddress("北京市海淀区");

  6. List<Student> lists=new ArrayList<Student>();

  7. lists.add(stu);

  8. //1、使用JSONObject

  9. //JSONObject listObject=JSONObject.fromObject(lists);

  10. //2、使用JSONArray

  11. JSONArray listArray=JSONArray.fromObject(lists);

  12. //System.out.println("listObject:"+listObject.toString());

  13. System.out.println("listArray:"+listArray.toString());

  14. }

我把使用JSONObject的方式给注掉了,我们先看注释之前的结果,

Exception in thread "main" net.sf.json.JSONException: 'object' is an array. Use JSONArray instead 告诉我说有一个异常,通过查看源码发现,在使用fromObject方法的时候会先进行参数类型的判断,这里就告诉我们,传入的参数是一个array类型,因为使用的ArrayList,再来看,注释之后的结果,

listArray:[{"address":"北京市海淀区","age":"23","name":"JSON"}] 这样结果是正常的。

json字符串--》》list

从上面的例子可以看出list的对象只能转化为数组对象的格式,那么我们看下面的字符串到list的转化,

  1. public static void jsonToList(){

  2. String arrayStr="[{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市西城区\"}]";

  3. //转化为list

  4. List<Student> list2=(List<Student>)JSONArray.toList(JSONArray.fromObject(arrayStr), Student.class);

  5. for (Student stu : list2) {

  6. System.out.println(stu);

  7. }

  8. //转化为数组

  9. Student[] ss =(Student[])JSONArray.toArray(JSONArray.fromObject(arrayStr),Student.class);

  10. for (Student student : ss) {

  11. System.out.println(student);

  12. }

  13. }

打印结果,

Student [name=JSON, age=24, address=北京市西城区]

Student [name=JSON, age=24, address=北京市西城区]

由于字符串的格式为带有“[]”的格式,所以这里选择JSONArray这个对象,它有toArray、toList方法可供使用,前者转化为java中的数组,或者转化为java中的list,由于这里有实体类进行对应,所以在使用时指定了泛型的类型(Student.class),这样就可以得到转化后的对象。

想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区了解一下。

Java13.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表