Android——Gson

          介绍

Gson:是Java对象序列化为Json

     和Json反序列化为Java对象的类

            

          作用

gson.toJson( Object obj ) 

  参数:Object object: 要序列化的对象

  返回值类型:String

  返回值:返回对象序列化的Json

  作用:获取序列化为对象属性和值对应的Json

 

gson.fromJson( String json , Class cls)

  参数:String json: Json格式字符串

    Class cls:反序列化的对象类型

  返回值类型:Class

  返回值:返回Json反序列化的对象

  作用:获取反序列化的Class类型对象

 

          使用

   Gson gson = new Gson();

   // 序列化  gson.toJson(Object obj)

   User user = new User("cw","123321");

   String json = gson.toJson(user);

 

//----------------------------------------------------------------

   Gson gson = new Gson();

   //反序列化 gson.fromJson( json , Class cls )

   String json = "{ "username" : "cw" , "password" : 123321 }"

   User user = gson.fromJson( json , user )

 

   关于GSON的元注解。

   因为Json数据键值名可能不适合作Bean属性名,所以使用@SerializedName("json键值名")

   可以映射到注解的变量上

   @SerializedName("jprovincename")

   private String provinceName

 

使用

  1.

     对象转为JSON时,经常的格式为:一个大数组包裹着JSON对象。

[{"id":1,"goodName":"攀升酷睿i711700升11700KF/RTX3060Ti高端DIY组装台式机网吧LOL整机全套直播设计GTA5吃鸡永劫无间电脑主机","goodImg":"http://106.55.50.79:8080/taobao/computer/good1/goodimg.jpg","storeName":"IPASON攀升官方旗舰店","storeImg":"http://106.55.50.79:8080/taobao/computer/good1/storeimg.jpg","monthSale":"58","storeAddress":"湖北武汉","version1":"8299","version2":"10599","cusName":"t***3","cusComment":"外观材质:挺好的 显卡效果:是全新正品,安装教程比较全面,普通人可以完成 电脑性能:性能拉满,性价比不错 ","question1":"翻车了嘛","question2":"这家主机怎么样?求如实回答","advImg1":"http://106.55.50.79:8080/taobao/computer/good1/advimg0.jpg","advImg2":"http://106.55.50.79:8080/taobao/computer/good1/advimg1.jpg","advImg3":"http://106.55.50.79:8080/taobao/computer/good1/advimg2.jpg","sort":"主机"}, {"id":2,"goodName":"送好礼/分期免息!Huawei/华为 nova8 8+256G 5G手机 6.57曲面屏 66W超级快充 麒麟985华为官方旗舰店官网正品","goodImg":"http://106.55.50.79:8080/taobao/phone/good3/goodimg.jpg","storeName":"创宇嘉汇数码专营店","storeImg":"http://106.55.50.79:8080/taobao/phone/good3/storeimg.jpg","monthSale":"2000","storeAddress":"广东深圳","version1":"2229","version2":"4048","cusName":"w**9","cusComment":"运行很流畅,黑色真好看啊,我特别喜欢这种高雅黑,很有格调的样子。内存大。大屏看东西特别舒适。 ","question1":"鸿蒙系统吗?","question2":"可以用4g卡吗","advImg1":"http://106.55.50.79:8080/taobao/phone/good3/advimg0.jpg","advImg2":"http://106.55.50.79:8080/taobao/phone/good3/advimg1.jpg","advImg3":"http://106.55.50.79:8080/taobao/phone/good3/advimg2.jpg","sort":"手机"}, {"id":3,"goodName":"【高端游戏主机】联想拯救者 刃9000K 11代酷睿i7/i9 RTX3080/RTX3070 游戏设计师台机i7-11700KF/16G/1T SSD","goodImg":"http://106.55.50.79:8080/taobao/computer/good2/goodimg.jpg","storeName":"联想官方旗舰店","storeImg":"http://106.55.50.79:8080/taobao/computer/good2/storeimg.jpg","monthSale":"200","storeAddress":"北京","version1":"6389","version2":"13499","cusName":"a**9","cusComment":"多的不说相当巴卡 一次点亮待机无噪音 收货一一天了现在才有空开机 期待游戏表现 神光同步完美 ","question1":"各位3070版本的入手多少?","question2":"请问能DIY后期更换显卡吗?同时电源能不能换,不然也带不动","advImg1":"http://106.55.50.79:8080/taobao/computer/good2/advimg0.jpg","advImg2":"http://106.55.50.79:8080/taobao/computer/good2/advimg1.jpg","advImg3":"http://106.55.50.79:8080/taobao/computer/good2/advimg2.jpg","sort":"主机"}, {"id":4,"goodName":"京天华盛I3 10100/i5 10400商务办公家用客服电脑主机台式机mini迷你企业高配品牌设计组装机整机全套旗舰DIY","goodImg":"http://106.55.50.79:8080/taobao/computer/good3/goodimg.jpg","storeName":"京天华盛官方旗舰店","storeImg":"http://106.55.50.79:8080/taobao/computer/good3/storeimg.jpg","monthSale":"100","storeAddress":"湖北武汉","version1":"999","version2":"2399","cusName":"a**9","cusComment":"非常不错,电脑对于办公来说绰绰有余,运行起来也不卡,非常不错。【子凡服务好】【子凡态度好】 ","question1":"配置1用来办公多个软件同时使用卡不卡","question2":"现在天冷了,5,6度的样子,主机,是不是就无法启动了?","advImg1":"http://106.55.50.79:8080/taobao/computer/good3/advimg0.jpg","advImg2":"http://106.55.50.79:8080/taobao/computer/good3/advimg1.jpg","advImg3":"http://106.55.50.79:8080/taobao/computer/good3/advimg2.jpg","sort":"主机"}, {"id":5,"goodName":"攀升战境S5 i5 10400F/1650/1660S/3060电脑主机高配台式吃鸡电竞游戏DIY组装机直播设计师全套整机","goodImg":"http://106.55.50.79:8080/taobao/computer/good4/goodimg.jpg","storeName":"IPASON攀升官方旗舰店","storeImg":"http://106.55.50.79:8080/taobao/computer/good4/storeimg.jpg","monthSale":"4000","storeAddress":"湖北武汉","version1":"4999","version2":"7199","cusName":"t***健","cusComment":"外观材质:很好看 简约大气上档次 显卡效果:速度快,不错 开机也快 不卡屏 电脑性能:还不错的 值得拥有 大力支持 摩尼佛服务好支持 ","question1":"缩水有多严重,能不能给个实话?","question2":"这个电脑给你们装的是啥系统啊","advImg1":"http://106.55.50.79:8080/taobao/computer/good4/advimg0.jpg","advImg2":"http://106.55.50.79:8080/taobao/computer/good4/advimg1.jpg","advImg3":"http://106.55.50.79:8080/taobao/computer/good4/advimg2.jpg","sort":"主机"}, {"id":6,"goodName":"攀升台式电脑主机十代酷睿i5 10400办公电脑家用游戏主机企业采购设计师电脑台式组装机全套DIY整机","goodImg":"http://106.55.50.79:8080/taobao/computer/good6/goodimg.jpg","storeName":"IPASON攀升官方旗舰店","storeImg":"http://106.55.50.79:8080/taobao/computer/good6/storeimg.jpg","monthSale":"2000","storeAddress":"湖北武汉","version1":"2599","version2":"3499","cusName":"g**3","cusComment":"使用了一段时间才过来评价,真的是好货,值得购买,攀升台式电脑外观美观精致,非常漂亮,配置丰富,无论是办公看电影还是玩游戏,都非常给力,全五星好评。 ","question1":"靠谱吗,这家店。","question2":"这电源能干啥?感觉加个显卡拉不动吧……","advImg1":"http://106.55.50.79:8080/taobao/computer/good6/advimg0.jpg","advImg2":"http://106.55.50.79:8080/taobao/computer/good6/advimg1.jpg","advImg3":"http://106.55.50.79:8080/taobao/computer/good6/advimg2.jpg","sort":"主机"}, {"id":7,"goodName":"宁美国度电脑主机十代i5 10400F/RX560/1660TI台式电脑全套高配DIY设计师整机网吧电竞GTA永劫无间游戏组装机","goodImg":"http://106.55.50.79:8080/taobao/computer/good7/goodimg.jpg","storeName":"宁美官方旗舰店","storeImg":"http://106.55.50.79:8080/taobao/computer/good7/storeimg.jpg","monthSale":"3000","storeAddress":"上海","version1":"3399","version2":"6299","cusName":"大***7","cusComment":"子叶  子文 小贝 典韦 小童  小谦  柚子  伯安都是认真的客服,谢谢你们。顺丰快递到家。风扇是我自己安装的,使用效果不错,包装没有磕碰。看2k的电影没问题。接口满足需要,显卡没有问题。还送了防尘网很有用,宁美的机械键盘也很好用。 ","question1":"值得买吗?会不会交智商税","question2":"CF.LOL哪个配置就行?","advImg1":"http://106.55.50.79:8080/taobao/computer/good7/advimg0.jpg","advImg2":"http://106.55.50.79:8080/taobao/computer/good7/advimg1.jpg","advImg3":"http://106.55.50.79:8080/taobao/computer/good7/advimg2.jpg","sort":"主机"}, {"id":8,"goodName":"京天华盛11代i7 11700KF/3070Ti/3080显卡电竞电脑主机台式机组装机DIY兼容机吃鸡水冷游戏高配旗舰整机全套","goodImg":"http://106.55.50.79:8080/taobao/computer/good8/goodimg.jpg","storeName":"京天华盛官方旗舰店","storeImg":"http://106.55.50.79:8080/taobao/computer/good8/storeimg.jpg","monthSale":"59","storeAddress":"湖北武汉","version1":"9999","version2":"13999","cusName":"那**谁","cusComment":"收到产品看到包装的非常完好,都没有一点破损的,发货速度物流也非常的快~元平的服务态度非常棒~无论问他什么都事无巨细的告诉我,主机收到打游戏非常的流畅~没有一点卡顿 。跑了170w的分数,真的超级赞呀,风扇还能变颜色真的高级呀哈哈哈子玉和元平的服务好!","question1":"显卡什么牌子的","question2":"配置三跟配置4咋样","advImg1":"http://106.55.50.79:8080/taobao/computer/good8/advimg0.jpg","advImg2":"http://106.55.50.79:8080/taobao/computer/good8/advimg1.jpg","advImg3":"http://106.55.50.79:8080/taobao/computer/good8/advimg2.jpg"}]
  
  在转化过程中,从数据库获取到数据生成对象。1.先new Gson.toJson( Object obj ) 2. 用ArrayList添加json对象。 3.返回ArrayList.toString() 返回JSON数组给客户端。

  
  2.
   客户端将字符串转为对象,需要使用ArrayList进行获取。 具体写法 new Gson().fromJson(String json , new TypeToken<ArrayList<Object>>(){}.getType()) 可将数据转为ArrayList<Object> 对象

  3.
   根据JSON对象编写JavaBean
      晚上仔细演讲
  
  4.
   使用网上工具快速策划
    https://www.json.cn/ , 可以结构分析,以此编写JavaBean等等
  

posted @ 2021-08-07 01:51  remix_alone  阅读(200)  评论(0)    收藏  举报