Go解析【メモリキャッシュ】のデータの読み出しを実現
5533 ワード
目次
関数1
実行スクリプトを読み込んでメモリに一時保存したJSONデータは、Bufferバッファに戻ります.
func cmd() bytes.Buffer {
//test , JSON
cmd := exec.Command("/home/project/test","-j")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
fmt.Printf("Command finished with error: %v
", err)
}
//cmd.Process.Release()
return out
}
関数2
バイト配列をJSONデータに変換するには:
type JsonStruct struct {
}
func NewJsonStruct() *JsonStruct {
return &JsonStruct{}
}
func (jst *JsonStruct) Load(data []byte, v interface{}) {
// json ,
err := json.Unmarshal(data, v)
if err != nil {
return
}
}
JSON構造体のインタフェースに戻る
type Info struct {
Name string `json:"name"`
Sex bool `json:"sex"`
Hobbies []string `json:"hobbies"`
}
func ReadCmd() (v *Info) {
data := cmd()
Load(data.Bytes(), &v)
return v
}
効果の実現
ReadCmd
インタフェースを呼び出すと、実行可能ファイルがメモリに出力されたJSONデータの読み取り、分析が可能になります.