新鮮出爐的萬能值變數庫 dxsvalue
開源地址:https://github.com/suiyunonghen/dxsvalue 萬能值變數,其目的是將 Json,MsgPack 等編碼型別都可以使用本庫來進行操作處理
用法
go get github.com/suiyunonghen/dxsvalue
1、NewValue
v := dxsvalue.NewValue(VT_Object)
v.SetKeyString("Name","不得閒")
v.SetKeyInt("Age",36)
v.SetKeyFloat("Weight",23.5)
//新增一個陣列
arrv := v.SetKey("Children",VT_Array)
//陣列中增加一個物件
child := arrv.SetIndex(0,VT_Object)
child.SetKeyString("Name","Child1")
child.SetKeyString("Sex","boy")
child.SetKeyInt("Age",3)
//陣列中增加一個物件
child = arrv.SetIndex(1,VT_Object)
child.SetKeyString("Name","Child2")
child.SetKeyString("Sex","girl")
child.SetKeyInt("Age",3)
fmt.Println(string(Value2Json(v,nil)))
以上的程式碼最終的輸出結果為
{
"Name": "不得閒",
"Age": 36,
"Weight": 23.5,
"Children": [
{
"Name": "Child1",
"Sex": "boy",
"Age": 3
},
{
"Name": "Child2",
"Sex": "girl",
"Age": 3
}
]
}
2、NewValueFromJson
使用本函式主要是從 JSON 中構建一個 DxValue 物件進行操作,有兩個引數,引數 2 指定是否使用 cache,如果使用 了 cache,之後可以使用 FreeValue 對 Value 進行回收,此時使用的 Value 都是 cache 中的物件結構,用法:
str := `{"Result":0,"Name":"不得閒","Age":36,"Weight":167.3,"arr":[ {"gg":23},23 ]}` v,err := dxsvalue.NewValueFromJson([]byte(str),true) if err != nil{ fmt.Println("發生錯誤:",err) } defer dxsvalue.FreeValue(v)
3、獲取值
DxValue 可以使用 String,Int,Bool,Float,DateTime,GoTime 等來獲取簡單型別 Value 的相對 應的資料值,相應的使用 SetXXX 函式來設定相應的資料值,AsString,AsInt 等可以用來獲取相應的 key 對應的值
獲取某個節點的值,可以使用 ValueByName() 來查詢到某個節點,然後相應的使用 AsXXX 等函式來獲取,同時也可以 使用 ValueByPath 獲取一個路徑下面的節點,比如要獲取 a/b/c ValueByPath('a','b','c'),相應的也有 StringByPath,BoolByPath 等
4、設定值 使用 SetXX 類的函式,SetKeyXXX 型別的主要用來設定 K-V 結構的資料設定主要針對 Object 型別,SetIndex 型別主 要針對陣列類的資料設定
5、檔案儲存以及格式化
使用 Value2File 可以儲存到 Json 檔案,使用 Value2FormatJson 可以格式化到 json
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- 15個新鮮出爐的 Photoshop 文字效果教程
- 新鮮出爐的8月前端面試題前端面試題
- 正式支援Transformer與TensorBoard,PyTorch 1.2新鮮出爐ORMORBPyTorch
- 熱門API介面它來啦 新鮮出爐API
- 2020年,新鮮出爐的Apple Search Ads新手指南(上)APP
- 2020年,新鮮出爐的Apple Search Ads新手指南(下)APP
- 2024 年 2 月海外新應用下載榜新鮮出爐!
- 全部python工具,新鮮出爐,拿走不謝,別客氣Python
- ? 全球著名**網站 Pornhub 2019 年度報告新鮮出爐!網站
- 快看!新鮮出爐的蘋果手機TP錢包安裝教程蘋果
- 收藏!第三屆強網杯報名指南新鮮出爐。
- SIMULIA 官方技術論壇全年時間表新鮮出爐!
- ESLint可共享配置釋出,團隊自定義ESLint規則新鮮出爐EsLint
- 比十三香還香的PD 20W快充方案新鮮出爐!
- 撒花!吳恩達《Machine Learning Yearning》中文版新鮮出爐!吳恩達Mac
- 新鮮出爐:金亨泰《NIKKE:勝利女神》遊戲評測遊戲
- 新鮮出爐:appium2.0+ 單點觸控和多點觸控新的解決方案APP
- “偽人工智慧”三大特徵新鮮出爐,對號入座閱讀人工智慧特徵
- 看雪2022 KCTF春季賽完美收官!排行榜新鮮出爐
- 新鮮出爐的Roguelike卡牌遊戲《瘋狂之門》現招募測試玩家!遊戲
- Windows Build 18855版新鮮出爐 終於加入了這個夢寐以求的功能WindowsUI
- C++變數總結束 | 輸出各種變數的值C++變數
- 本週份AI論文推薦新鮮出爐!真的很skr了~AI
- ? ? ? 新鮮出爐!go 版本的 pipeline 釋出啦,你還在愁 go 沒有好用的中介軟體嗎?Go
- 新鮮出爐的一線網際網路公司Java高階面試題總結!Java面試題
- 程式語言排行榜新鮮出爐:憑什麼Python成為程式設計新貴?Python程式設計
- 5個效能測試工具哪個更好用?對比結果新鮮出爐!
- Liftoff COVID-19移動廣告表現追蹤週報新鮮出爐
- 10億美元成立全新AI計算學院,MIT官方最全問答新鮮出爐!AIMIT
- 2019資料技術嘉年華饕餮盛宴“選單”新鮮出爐,只等你來!
- Unity線上技術大會開幕在即,重磅嘉賓名單新鮮出爐Unity
- 關於變數與‘=’賦值的情況出錯變數賦值
- 華為權威報告新鮮出爐,拉低應用質量的原因竟然是它!
- 「計算方法」快3常出和值萬能組合
- 第三屆“強網杯”首日戰報新鮮出爐,現場原來這麼酷!!!
- 機器學習十大熱文新鮮出爐,這個月你該讀哪篇?機器學習
- ITSS雲榜單出爐,雲端計算格局再生變數?變數
- ? ? ? 新鮮出爐!洋蔥模型的管道實現,你還在愁 go 沒有好用的中介軟體嗎?模型Go