FastjsonTest.java
パッケージのデモ。 輸入はjava.util.ArrayList; 輸入java.util.Date; 輸入はjava.util.List; 輸入java.util.Map; 輸入com.alibaba.fastjson.JSON。 輸入com.alibaba.fastjson.TypeReference。 輸入com.alibaba.fastjson.serializer.SerializerFeature。 パブリック クラスFastjsonTest { 公共 静的 ボイドメイン(文字列[]引数){ ユーザーユーザー = 新しいユーザ(1、 "张三"、新しい日付())。 TEST1(ユーザ)。 TEST2(ユーザ)。 TEST3(ユーザ)。 TEST4(ユーザ)。 TEST5(ユーザ); TEST6(ユーザ); TEST7(ユーザ); TEST8(); } // JSON文字列にオブジェクト のプライベート 静的 ボイドTEST1(ユーザーユーザー){ 文字列S = JSON.toJSONString(ユーザー)、 印刷( 1。、S); } // JSON文字列、フォーマットされた日付にオブジェクト プライベート 静的 ボイドTEST2(ユーザーユーザー){ 文字列S = JSON.toJSONString(ユーザー、SerializerFeature.WriteDateUseDateFormat)、 印刷( 2 、S); } // 指定された文字列、フォーマットされた日付にJSONオブジェクト プライベート 静的 ボイドTest3は(ユーザーユーザー){ 文字列S = JSON.toJSONStringWithDateFormat(ユーザー、 "MM-DD-YYYYのHH:MM:SS.SSS" ); (プリント。3 、S); } // 文字列JSONにオブジェクトJSON形式を美化 プライベート 静的 ボイドTEST4(ユーザーユーザー){ 文字列S = JSON.toJSONStringWithDateFormat(ユーザー、 "MM-DD-YYYY" 、SerializerFeature.PrettyFormat)、 印刷( 4 、S); } // 文字JSONにオブジェクト文字列は、デフォルトのフィールドの値がNULLでない取得、SerializerFeature.WriteMapNullValueが得添加することができる プライベート 静的 ボイドTEST5(ユーザーのユーザー){ 文字列s = JSON.toJSONStringWithDateFormat(ユーザ、 "YYYY-MM-DD" 、SerializerFeature.PrettyFormat、SerializerFeature.WriteMapNullValue)。 プリント( 5 、S)。 } // JSON字符串转化成对象 プライベート 静的 ボイドTEST6(ユーザユーザ){ 文字列S = JSON.toJSONString(ユーザ)。 プリント( 6 、S)。 ユーザuser2 = JSON.parseObject(S、ユーザー。クラス); プリント( 6 、user2.toString())。 } // JSON转成地図<文字列、オブジェクト> プライベート 静的 無効 TEST7(ユーザーユーザー){ 文字列JSON = JSON.toJSONStringWithDateFormat(ユーザ、 "YYYY-MM-DD" )。 マップの<string、オブジェクト> MAP1 = JSON.parseObject(JSON、新しい TypeReference <マップ<文字列オブジェクト>> (){}); プリント( 7 、map1.toString())。 } // JSON转成一覧<地図> プライベート 静的 ボイドTEST8(){ ユーザーuser1が = 新しいユーザー(1、 "张三"、新しい日付()); ユーザuser2 = 新しいユーザー(2、 "李四"、新しい日付()); リスト <ユーザ>リスト1 = 新しいですのArrayList <ユーザー> (); list1.add(USER1)。 list1.add(USER2)。 文字列JSON = JSON.toJSONString(LIST1)。 一覧 <地図> maplist = JSON.parseArray(JSON、地図。クラス); プリント( 8 、maplist.toString())。 } プライベート 静的 ボイドプリント(int型の方法は、文字列情報){ System.out.print( "試験" +方法+ "输出:\ R \ n" +インフォメーション+ "\ R \ n" ); } }
User.java
パッケージのデモ。 輸入java.util.Date; 輸入はjava.util.List; パブリック クラスユーザー{ プライベート整数ID。 プライベート文字列名; プライベート日付CREATEDATE。 プライベート文字列のパスワード。 パブリックユーザー(){ } パブリックユーザ(int型のID、文字列名、日付CREATEDATE){ この .ID = ID。 この .nameの= 名前; この .createDate = CREATEDATE。 } パブリック整数のgetId(){ 戻り値のID。 } 公共 ボイドSETID(整数ID){ この .ID = ID。 } パブリック文字列のgetName(){ 戻り名。 } 公共 ボイドのsetName(文字列名){ この .nameの= 名前。 } 公共日getCreateDate(){ 戻りCREATEDATEと、 } 公共 ボイドsetCreateDate(日付CREATEDATE){ この .createDate = CREATEDATE。 } パブリック文字列getPasswordに(){ 戻るパスワードを。 } 公共 ボイドするsetPassword(文字列のパスワード){ このみましょう。パスワード= パスワード。 } @Override パブリック文字列のtoString(){ リターン "ユーザー[ID =" + ID + "NAME = "+名+"、CREATEDATE = "+ CREATEDATE +"、パスワード= "+パスワード+"]" 。 } }
結果:
TEST1输出: { "CREATEDATE":1564739625396、 "ID":1、 "名前": "张三"} TEST2输出: { "CREATEDATE": "2019年8月2日午後05時53分45秒"、 "ID": 1、 "名前": "张三"} TEST3输出: { "CREATEDATE": "2019年8月2日17:53:45.396"、 "ID":1、 "名前": "张三"} TEST4输出。 { "CREATEDATE": "2019年8月2日"、 "ID":1、 "名前": "张三" } TEST5输出: { "CREATEDATE": "2019年8月2日"、 "ID":1、 "名前": "张三"、 "パスワード":NULL } TEST6输出: { "CREATEDATE":1564739625396、 "ID":1、 "名前": "ジョン・ドウ"} TEST6出力: ユーザー[= 1つのID、名前=ジョー・スミス、CREATEDATE =金02 - 2019年8月17時53分45秒CST、パスワード= nullを。] TEST7出力: {ID = 1、名前=ジョー・スミス、2019年8月2日= CREATEDATE} TEST8出力: [{ID = 1、名前=ジョー・スミス、CREATEDATE = 1564739625490}、{ID = 2、名前=ジョン・ドウ、CREATEDATE = 1564739625490}]