說明
由於長期習慣PHP操作json,可以直接解析並靜默處理異常返回一個預設值,不習慣Go需要先定義結構體再解析json的方式,於是有了此包。
使用示例
// 獲取包:go get github.com/xing393939/jsonobject
import "github.com/xing393939/jsonobject"
jsonContent := `{
"isMaster": false,
"metadata": {
"name": "oracle"
},
"tags": ["db", "sql"]
}`
jo := jsonobject.NewJsonObject(jsonContent)
println(jo.GetBool("isMaster"))
println(jo.GetJsonObject("metadata").GetString("name"))
joArr := jo.GetJsonObjectSlice("tags")
for _, joRow := range joArr {
println(joRow.GetString())
}
jsonContent = `[{"name":"John", "score":100}, {"name":"Tom", "score":200}]`
jo = jsonobject.NewJsonObject(jsonContent)
joArr = jo.GetJsonObjectSlice()
for _, joRow := range joArr {
println(joRow.GetString("name"), joRow.GetInt("score"))
}
類方法說明
類方法是可變引數:
- 如果不傳引數:就表示把當前JsonObject物件轉換成對應的string、int、bool等;
- 如果傳一個引數param:則表示獲取當前JsonObject物件元素鍵名為param的鍵值。
類方法 | 如果型別不匹配 |
---|---|
GetString | 返回空字元 |
GetInt | 返回0 |
GetBool | 返回false |
GetInt64 | 返回0 |
GetFloat64 | 返回0 |
GetInt64 | 返回0 |
GetJsonObject | (型別一定匹配) |
GetJsonObjectSlice | 返回空切片 |
本作品採用《CC 協議》,轉載必須註明作者和本文連結