package main
import (
"encoding/json"
"fmt"
"github.com/bitly/go-simplejson"
"os"
)
type urlset struct {
Urlset urlData `json:"urlset"`
}
type urlData struct {
Urls []url
}
type url struct {
Url urlType `json:"url"`
}
type urlType struct {
Loc string `json:"loc"`
Data dataType `json:"data"`
}
type dataType struct {
Id int64 `json:"id"`
Name string `json:"name"`
}
func main() {
// var urlsetdata urlset
var urlDatas []urlData
var detail url
detail.Url = urlType{Loc: "1", Data: dataType{Id: 12, Name: "1"}}
urlDatas = append(urlDatas, detail)//这里我想手动的往slice里面追加item数据,但是报错
// urlsetdata.Urlset = urlDatas
body, err := json.Marshal(urlDatas)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
js, err := simplejson.NewJson(body)
fmt.Println(js)
}
json机构是这样的{"urlset":[{"url":{"loc":"1","data":{"id":1,"name":"1"}}}]}
上面代码我定义了结构,我想手动的往urlset里面写任意个的item,但是用append追加貌似不行。。求各位大拿指点一下?谢谢
urlData和url不是同一个类型,必须改为同一个类型.