編寫json配置檔案,我這裡是鏈結資料庫的配置檔案。
建立解析json檔案函式readdbconffile.go
。
package conf
import
("encoding/json"
"fmt"
"io/ioutil"
"os"
"path"
"runtime"
)//注意 結構體的定義變數為大駝峰
type dbconf struct
/** 連線資料庫
*/func
init()
dir := path.
dir(filename)
fmt.
println
(fmt.
printf
("獲取db的配置的目錄是: %s "
, dir)
) jsonfile := dir +
"/db.json"
fmt.
println
("dbconffilepath is %s"
, jsonfile)
dbconffile,
_:= os.
open
(jsonfile)
defer dbconffile.
close()
// 函式執行結束之前關閉流
// 建立json解碼器
bytevalue,
_:= ioutil.
readall
(dbconffile)
fmt.
println
(string
(bytevalue)
)var dbconfcontent dbconf
err := json.
unmarshal([
]byte
(bytevalue)
,&dbconfcontent)
if err !=
nil fmt.
println
(dbconfcontent)
fmt.
println
(dbconfcontent.user)
fmt.
println
(dbconfcontent.password)
fmt.
println
(dbconfcontent.ip)
fmt.
println
(dbconfcontent.port)
fmt.
println
(dbconfcontent.dbname)
}
建立測試單元函式readdbconffile_test.go
。
package test
import
("fmt"
"testing"
_"yun/conf"
)//_ "yun/conf" 是匯入包, 在執行 test_readjsonfile 函式之前會先載入_ "yun/conf" 包 ,在載入包之後
// 會初始化執行 init 函式
func
test_readjsonfile
(test *testing.t)
結果:
獲取db的配置的目錄是: d:/workspaces/go/src/yun/conf 61 dbconffilepath is %s d:/workspaces/go/src/yun/conf/db.json
root
root
127.0.0.1
3306
test
=== run test_readjsonfile
測試輸出
--- pass
: test_readjsonfile (0.00s)
pass
process finished with exit code 0
go語言解析json字串
go語言解析json資料主要使用go語言自帶的json轉換庫encoding json 1.json.marshal函式 該函式的作用是主要物件轉換為json字串資料,函式原型如下 func marsha v inte ce byte,error 也就是說,這個函式接收任意型別的資料v,並將其轉換為...
go語言json格式解析與生成示例
packagemain import encoding json fmt 目前bitly公司開源了乙個叫做 json的包,在處理未知結構體的json時相當方便 例如json的key是foo,那麼怎麼找對應的字段呢?首先查詢tag含有foo的可匯出的struct欄位 首字母大寫 其次查詢欄位名是foo...
JSON庫解析json檔案
cocoa 下json開源的類庫有很多,其中jsonkit庫是非常簡單易用而且效率又比較高的。解析 舉例 import jsonkit.h 假設 strjson 是網路上接收到的 json 字串,nsstring strjson bage 3,sound def.nsdictionary resul...