日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 中的Json解析工具fastjson 、序列化、反序列化

發布時間:2024/9/30 Android 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 中的Json解析工具fastjson 、序列化、反序列化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Android中通常需要訪問服務器,然而服務器返回的數據很多時候都是Json格式

?

1、fastjson簡介

???? 阿里巴巴FastJson是一個Json處理工具包,包括“序列化”和“反序列化”兩部分,它具備如下特征:
??? 速度最快,測試表明,fastjson具有極快的性能,超越任其他的Java Json parser。包括自稱最快的JackJson;

??? 功能強大,完全支持JavaBean、集合、Map、日期、Enum,支持范型,支持自省;無依賴,能夠直接運行在Java SE 5.0以上版本;

??? 支持Android;開源 (Apache 2.0)

?

2、fastjson下載地址

???? gitHub 下載地址 : https://github.com/alibaba/fastjson

??? ?Android jar包下載: http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.43.android/

???

3、常用的方法

????(1)?將JsonArray字符串轉化成 list 集合, 比如:

???????? JSONArray array = 。。。。

?????????List<ADBeen> adbeenList = new ArrayList<ADBeen>() ;

?????? ? adbeenList = JSON.parseArray( array.toString() , ADBeen.class);

?

??? (2)? 將JavaBean序列化為JSON文本?

?????? JSON.toJSONString( Object object?)

?

??? (3) 日期格式化

????

public void test5(){ Date date=new Date(); //輸出毫秒值 System.out.println(JSON.toJSONString(date)); //默認格式為yyyy-MM-dd HH:mm:ss System.out.println(JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat)); //根據自定義格式輸出日期 System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat)); }

?

???4? fastjson 解析json字符串為四種類型

????? 1. JavaBean

????????? Person person = JSON.parseObject(jsonString, Person.class);

??????2. List<JavaBean>

????????? List<Person> listPerson =JSON.parseArray(jsonString, Person.class);

????? 3. List<String>

??????????List<String> listString = JSON.parseArray(jsonString, String.class);

????? 4. List<Map<String,Object>>

????????? List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){});?

??????????? (注意:此處可看出fastjson反射機制比gson更準確, id = 1001 通過fastjson反射仍是 id = 1001 , 而通過gson反射結果 為 id =1001.0 ,

????????????? 參考前篇程序運行結果圖GSON方式生成和解析json數據)

?

5、List集合轉化為JSON字符串?

package com.app;import java.io.Serializable;public class User implements Serializable{private static final long serialVersionUID = 1L;private String name ;private String age ;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;} }

?

User user1 = new User() ;user1.setName( "jack" ) ;user1.setAge( "30" );User user2 = new User() ;user2.setName( "sam" ) ;user2.setAge( "45" );List<User> list = new ArrayList<User>() ;list.add( user1 ) ;list.add( user2 ) ;HashMap<String, Object> map = new HashMap<String, Object>(); map.put( "data", list ) ;String string = JSON.toJSONString( map ) ;System.out.println( "ssss" + string );

運行結果:{"data":[{"age":"30","name":"jack"},{"age":"45","name":"sam"}]}

?

總結

以上是生活随笔為你收集整理的Android 中的Json解析工具fastjson 、序列化、反序列化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。