記錄下JSON與byte[]轉化的操作,先來試試不存到文件的,當然要試試保存文件的,這樣就可以保存配置信息了,JSON只是一種方式,XML的操作方法很類似,至於其他的方式以后再研究。
package main
import (
"fmt"
"encoding/json"
)
func main() {
m : = Message{ "測試", "測試序列化", false}
b, _ : = json.Marshal(m)//將json對象序列化為byte[]
var ki Message
json.Unmarshal(b, &ki)//將序列化的byte[]重寫反序列化為對象。
fmt.Println(b)//打印序列化的byte[]
fmt.Println(ki)//打印對象的信息
fmt.Println(ki.Name)//打印具體的信息
}
type Message struct {
Name string
Body string
State bool
}
import (
"fmt"
"encoding/json"
)
func main() {
m : = Message{ "測試", "測試序列化", false}
b, _ : = json.Marshal(m)//將json對象序列化為byte[]
var ki Message
json.Unmarshal(b, &ki)//將序列化的byte[]重寫反序列化為對象。
fmt.Println(b)//打印序列化的byte[]
fmt.Println(ki)//打印對象的信息
fmt.Println(ki.Name)//打印具體的信息
}
type Message struct {
Name string
Body string
State bool
}
上面的例子可以看出JSON與byte[]轉化很簡單,序列化后的是byte[],可以用於很多處理的.接下來將byte[]保存到文件. 不過保存的文件是json的內容.
package main
import (
"fmt"
"encoding/json"
"io/ioutil"
)
func main() {
m : = Message{ "測試", "測試序列化", false}
b, _ : = json.Marshal(m)
ioutil.WriteFile( "vt.dat", b, 0644)//保存數據到文件
bi, _ : = ioutil.ReadFile( "vt.dat")//從文件取出數據
var ki Message
json.Unmarshal(bi, &ki)
fmt.Println(ki.Name);//打印信息
}
type Message struct {
Name string
Body string
State bool
}
import (
"fmt"
"encoding/json"
"io/ioutil"
)
func main() {
m : = Message{ "測試", "測試序列化", false}
b, _ : = json.Marshal(m)
ioutil.WriteFile( "vt.dat", b, 0644)//保存數據到文件
bi, _ : = ioutil.ReadFile( "vt.dat")//從文件取出數據
var ki Message
json.Unmarshal(bi, &ki)
fmt.Println(ki.Name);//打印信息
}
type Message struct {
Name string
Body string
State bool
}