我有一个json文件(themes / snow / theme.json){ Name:'snow', Bgimage:'background.jpg', Width:600, Height:400, Itemrotation:'20,40', Text:{ Fontsize:12, Color:'#ff00ff', Fontfamily:'verdana', Bottommargin:20 }, Decoration:[ { Path:'abc.jpg', X:2, Y:4, Rotation:0 }, { Path:'def.png', X:4, Y:22, Rotation:10 } ]}我有一个解析json数据的文件package mainimport ( "fmt" "os" "encoding/json" "io/ioutil" "log")const themeDirectory = "themes"const themeJsonFile = "theme.json"type TextInfo struct { Fontsize int Color string Fontfamily string Bottommargin int}type DecoInfo struct { Path string X int Y int Rotation int}type ThemeInfo struct { Name string Bgimage string Width int Height int Itemrotation string Text textInfo Decoration []decoInfo}func main() { var tinfo = parseTheme("snow") //use tinfo to build graphics}func parseTheme(themename string) themeInfo { abspath, _ := os.Getwd() filename := abspath + "/" + themeDirectory + "/" + themename + "/" + themeJsonFile //Check this file exists if _, error := os.Stat(filename); error != nil { if os.IsNotExist(error) { log.Fatal(filename + " does not exist") os.Exit(1) } } filebyte, error := ioutil.ReadFile(filename) if error != nil { log.Fatal("Could not read file " + filename + " to parse") os.Exit(1) } var t themeInfo json.Unmarshal(filebyte, &t) fmt.Println(t) return t}您可以看到结束前我有2行 fmt.Println(t)我不确定为什么会打印{ 0 0 {0 0} []}我希望它可以以一种可用的方式返回给我themeInfo,以便可以将其用于进一步处理。我在这里做错了什么?
- 2 回答
- 0 关注
- 302 浏览
添加回答
举报
0/150
提交
取消