JAVA中对象和字符串的相互转换


1、对象转字符串(这个容易)。

java对象可以看做json的另一种形式。

一把来说只需要,调用对象的toString()方法即可。

2、字符串转对象

java对象可以看做json的另一种形式。但反过来也就不一定了。

例如

[{"name":"name","data":[[12345,qwr][1256,dsfsd]},{"name":"obj","data":[[xvc,qxcccwr][xxxx,xxxxx]}]。

这个其实就是一个对象的toString(),控制台打印出来就是上面那样。

可以是这个List<obj>  。 这个obj包含两个属性,一个name为String类型,一个data是List<List<String>>类型。

 

反过来呢?叫你把上面这个字符串转成对象呢?那就有点复杂了。

到底该怎么转换呢?

这里提供一种思路。

1、去掉收尾  [  ] 

 得到{"name":"name","data":[[12345,qwr][1256,dsfsd]},{"name":"obj","data":[[xvc,qxcccwr][xxxx,xxxxx]}

2、然后去掉花括号

得到两个字符串

 "name":"name","data":[[12345,qwr][1256,dsfsd]

  "name":"obj","data":[[xvc,qxcccwr][xxxx,xxxxx]

3、再以逗号切割为数组,

 得到 ["name":"name","data":[[12345,qwr][1256,dsfsd]]

4、取出数组,分别处理,第一个为json字符串,利用fastjson转为对象即可。第二个以字符串"冒号":",进行分割。

 得到 

  name

  name

  data

   [[12345,qwr][1256,dsfsd]]

5、将 [[12345,qwr][1256,dsfsd]],去掉收尾  [  ]  

 得到[12345,qwr][1256,dsfsd]

6、再以逗号",",split函数切割,得到数组

  [[12345,qwr][1256,dsfsd]]

7、遍历其中,再以逗号分割

 得到

 12345,qwr

 1256,dsfsd]

8,再装进集合。

至此所以最里面都已解析完毕,都能拿到值,也就可以转为对象了。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM