一、java普通对象和数据字符串的互转
爪哇岛对象数据
首先创建一个爪哇岛对象:
公开课学生{ //姓名私有字符串名称;//年龄私人字符串时代;//住址私有字符串地址;公共字符串getName(){ 0返回名称;} public void setName(String name){ this。name=name} public String GetAge(){ return age;} public void setAge(String age){ this。年龄=年龄;}公共字符串GetAddress(){ 0返回地址;} public void setAddress(String address){ this。地址=地址;} @将公共字符串重写为String(){ return ' Student[name=' name ',age=' age ',address=' address ']';}}现在爪哇岛对象转换为数据形式:
public static void convertObject(){ Student stu=new Student();斯图。setname(' JSON ');斯图。setage(' 23 ');stu.setAddress('北京市西城区');//1、使用JSON对象JSON对象JSON=JSON对象。来自对象(stu);//2、使用JSONArray JSONArray数组=JSON数组。来自对象(stu);字符串strJson=JSON。tostring();string Strarray=数组。ToString();系统。出去。println(' strjs : ' strJson);系统。出去。println(' Strarray : ' Strarray);}定义了一个学生的实体类,然后分别使用了对象和对象两种方式转化为数据字符串,下面看打印的结果:
json - javabean
上面说明了如何把爪哇岛对象转化为数据字符串,下面看如何把数据字符串格式转化为爪哇岛对象,
首先需要定义两种不同格式的字符串,需要使用对双引号进行转义。
public static void jsonStrToJava(){//定义两种不同格式的字符串string objectStr=' { ' name ' : ' JSON ', ' age ' : ' 24 ', ' address ' : '北京市西城区'}';string Arraystr='[{ ' name ' : ' JSON ', ' age ' : ' 24 ', ' address ' : '北京市西城区'}]';//1、使用JSON对象JSON对象JSON对象=JSON对象。从对象(对象字符串);学生斯图=(学生)JSON对象。禁止(JSON对象,学生。类);//2、使用JSON数组JSON数组JSON数组=JSON数组。从对象(数组字符串);//获得对象的第一个元素对象o=JSonarray。get(0);JSON对象JSON对象2=JSON对象。来自对象(o);stu2=(学生)JSON对象。禁止(JSON对象2,Student。类);系统。出去。println(' stu : ' stu);系统。出去。println(' stu 2: ' stu 2);}运行结果:
从上面的代码中可以看出,使用对象可以轻松的把数据格式的字符串转化为爪哇岛对象,但是使用对象就没那么容易了,因为它有"[]"符号,所以我们这里在获得了对象的对象之后,取其第一个元素即我们需要的一个学生的变形,然后使用对象轻松获得。
二、列表和数据字符串的互转
下面将目录转化为数据字符串:
public static void convertListObject(){ Student stu=new Student();斯图。setname(' JSON ');斯图。setage(' 23 ');stu.setAddress('北京市西城区');stu2=新学生();斯图2。setname(' JSON2 ');斯图2。setage(' 23 ');stu2.setAddress('北京市西城区');//注意如果是目录多个对象比需要使用JSONArray JSONArray数组=JSON数组。来自对象(stu);string Strarray=数组。ToString();系统。出去。println(' Strarray : ' Strarray);}运行结果为:
strarra :[{ ' address ' : '北京市西城区,'姓名:'JSON ','年龄' :'23'},{ '地址' : '北京市西城区,'姓名: ' JSON2 ','年龄' :'23'}]
如果使用对象进行转换会出现:
线程“主”中的异常净。SF。JSON。jsonexception :“对象”是一个数组。请改用对象
下面将数据串转换为目录
public static void jsonToList(){ String arrayStr='[{ ' name ' : ' JSON ', ' age ' : ' 24 ', ' address ' : '北京市西城区'},{ '姓名: ' JSON2 ', '年龄' : ' 24 ', '地址' : '北京市西城区'}]';//转化为list list学生list 2=(list学生)jsonarray。要列出(jsonarray。来自对象(数组字符串),学生。类);用于(学生斯图:列表2) { System.out.println(学生);} //转化为数组学生[] ss=(学生[])JSON数组。toarray(JSON数组。来自对象(数组字符串),学生。类);用于(学生学生: ss) { System.out.println(学生);}}运行结果为:
三、地图和数据字符串的互转
地图转化为数据字符串
公共静态void mapToJSON(){ Student stu=new Student();斯图。setname(' JSON ');斯图。setage(' 23 ');stu.setAddress('中国上海');MapString,Student map=new HashMapString,Student();map.put('first ',stu);//1、JSON对象JSON对象mapObject=JSON对象。来自对象(地图);系统。出去。println(' MapObject : ' MapObject。ToString());//2、JSON数组JSON数组mapArray=JSON数组。来自对象(地图);系统。出去。println(' map array : ' map array。tostring());}运行结果:
数据字符串转化为地图:
public static void JSON tmap(){ String strobeject=' { ' first ' : { ' address ' : '中国上海 ', ' age ' : ' 23 ', ' name ' : ' JSON ' }//JSON对象JSON对象=JSON对象。从对象(strobeject);map map=new HashMap();map.put('first ',学生。类);//使用了托比安方法,需要三个参数MyBean my=(MyBean)JSON对象。toban(JSON对象,MyBean.class,map);系统。出去。我的。GetFirst());}注意在转化为地图的时候需要创建一个类,类里面需要有第一属性跟数据串里面的一样:
使用托班(中)方法是传入了三个参数,第一个是对象对象,第二个是MyBean.class,第三个是一个地图对象。通过MyBean可以知道此类中要有一个第一的属性,且其类型为学生,要和地图中的键和值类型对应,即,首先对应键第一类型对应值的类型。
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接