go json字符串轉換成結構體,json字符串數組轉換成切片

例子1:把字符串轉換成結構體:{"FromUid":"100","FromName":"HANASHAN"}

package main

import (
	"fmt"
	"encoding/json"
)
//接收普通消息結構體
type receiveMessage struct{
	FromUid string		//發送者uid
	FromName string	//發送者名字
}
func main(){
	str := []byte(`{"FromUid":"100","FromName":"HANASHAN"}`)

	var revMsg receiveMessage
	err := json.Unmarshal([]byte(str),&revMsg)
	fmt.Println(err)
	fmt.Println(revMsg)
}

例子2把 [{"Id2":100,"Title":"木華黎"},{"Id":200,"Title":"耶律楚才"},{"Id":300,"Title":"納呀啊","Test":100}]轉換成go的切片

package main

import (
	"encoding/json"
	"fmt"
	"reflect"
)

//接收普通消息結構體
type articles struct{
	Id int		 //文章id
	Title string //文章標題
}
func main(){

	//json字符串數組,轉換成切片
	articleStrings := `[{"Id2":100,"Title":"木華黎"},{"Id":200,"Title":"耶律楚才"},{"Id":300,"Title":"納呀啊","Test":100}]`
	var articleSlide []map[string]interface{}
	multiErr := json.Unmarshal([]byte(articleStrings),&articleSlide)
	if multiErr!=nil{
		fmt.Println("轉換出錯:",multiErr)
	}

	for k,v:=range articleSlide{
		fmt.Println("第",k,"個數的值是:",v,v["Id"],v["Title"])
	}

	fmt.Println(reflect.TypeOf(articleSlide))
}

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章