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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java通过maven构建项目实现日志生成模拟(二)构建数据,FastJson方法的使用

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java通过maven构建项目实现日志生成模拟(二)构建数据,FastJson方法的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

啟動日志格式

啟動日志結構相對簡單,主要包含公共信息,啟動信息和錯誤信息。 {"common": {"ar": "230000", -- 地區編碼"ba": "iPhone", -- 手機品牌"ch": "Appstore", -- 渠道"md": "iPhone 8", -- 手機型號"mid": "YXfhjAYH6As2z9Iq", -- 設備id"os": "iOS 13.2.9", -- 操作系統"uid": "485", -- 會員id"vc": "v2.1.134" -- app版本號},"start": { "entry": "icon", --icon手機圖標 notice 通知 install 安裝后啟動"loading_time": 18803, --啟動加載時間"open_ad_id": 7, --廣告頁ID"open_ad_ms": 3449, -- 廣告總共播放時間"open_ad_skip_ms": 1989 -- 用戶跳過廣告時點}, "err":{ --錯誤 "error_code": "1234", --錯誤碼"msg": "***********" --錯誤信息 },"ts": 1585744304000 --跳入時間戳 }

根據上面的日志來構建數據

在java文件夾下創建FastJsonTest類

public class FastJsonTest {public static void main(String[] args) {}public static String toJSONString(){} }

創建一個文件夾,下面包含Common,Error,Start類

輸入數據,編寫Common類

public class Common {private String ar;private String ba;private String ch;private String md;private String mid;private String os;private String uid;private String vc;}

然后Alt + Insert 創建get 和 set


按Shift+↓全選;其他類同理

編寫Start類

public class Start {private String entry;private int open_ad_id;private int open_ad_ms;private int open_ad_skip_ms;}

編寫Error類

public class Error {private String error_code;private String msg;}

編寫創建啟動日志類

public class Start_Log {private Common common;private Start start;private Error err;private long ts;}

主要方法介紹

下載Json的jar包主要是利用兩個方法;

toJSONString() 和 parseObject()

JSON.toJSONString() : 將對象轉換為JSON字符串;
JSON.parseObject() 將JSON字符串轉換為Java對象;

最后需要做到 從一串JSON字符串里面,找到需要的數據

構建日志

import com.alibaba.fastjson.JSON; import com.zygxy.bean.Common; import com.zygxy.bean.Error; import com.zygxy.bean.Start; import com.zygxy.bean.Start_Log;import java.util.Date;public class FastJsonTest {public static void main(String[] args) {Common common =new Common();common.setAr("450000");common.setBa("OPPO");common.setCh("oppo shop");common.setMd("OPPO K1");common.setMid("YXfhjAYH6As2z9Iq");common.setOs("android 11");common.setUid("99999");common.setVc("v2.1");Start start = new Start();start.setEntry("icon");start.setOpen_ad_id(18803);start.setOpen_ad_ms(5000);start.setOpen_ad_skip_ms(3000);Error err= new Error();err.setError_code("0000");err.setMsg("");Start_Log log= new Start_Log();log.setCommon(common);log.setStart(start);log.setErr(err);log.setTs(new Date().getTime());String jsonString = toJSONString(log);System.out.println(jsonString);}public static String toJSONString(Object o){return JSON.toJSONString(o);}}

點擊運行
{"common":{"ar":"450000","ba":"OPPO","ch":"oppo shop","md":"OPPO K1","mid":"YXfhjAYH6As2z9Iq","os":"android 11","uid":"99999","vc":"v2.1"},"err":{"error_code":"0000","msg":""},"start":{"entry":"icon","open_ad_id":18803,"open_ad_ms":5000,"open_ad_skip_ms":3000},"ts":1639200109107}

反過來也可以通過JSON.parseObject()將上面的json字符串轉化成java對象


編寫測試測試對象

public static Object fromJsonStringtoObject(String jsonString,Class clz){return JSON.parseObject(jsonString,clz);}

編寫代碼

String jsonString2="{\"common\":{\"ar\":\"450000\",\"ba\":\"OPPO\",\"ch\":\"oppo shop\",\"md\":\"OPPO K1\",\"mid\":\"YXfhjAYH6As2z9Iq\",\"os\":\"android 11\",\"uid\":\"99999\",\"vc\":\"v2.1\"},\"err\":{\"error_code\":\"0000\",\"msg\":\"\"},\"start\":{\"entry\":\"icon\",\"open_ad_id\":18803,\"open_ad_ms\":5000,\"open_ad_skip_ms\":3000},\"ts\":1639200109107}";Start_Log o =(Start_Log) fromJsonStringtoObject(jsonString2, Start_Log.class);System.out.println(o);

把之前的代碼改一下,這里注釋

上面四個類下面 加上toString方法:



其它幾個同理

運行程序得到:

Start_Log{common=Common{ar='450000', ba='OPPO', ch='oppo shop', md='OPPO K1', mid='YXfhjAYH6As2z9Iq', os='android 11', uid='99999', vc='v2.1'}, start=Start{entry='icon', open_ad_id=18803, open_ad_ms=5000, open_ad_skip_ms=3000}, err=Error{error_code='0000', msg=''}, ts=1639200109107}

總結

以上是生活随笔為你收集整理的java通过maven构建项目实现日志生成模拟(二)构建数据,FastJson方法的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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