有这么一个json,我想直接转成struct
struct
```
type whatBean struct {
action string
control string
}
...............
tmp := "{\"这个key好多\":{\"action\":\"123\",\"control\":\"456\"},\"这个key真的好多所以用map\":{\"action\":\"/roamApi/getAuthStatus.action\",\"control\":\"https://sosona.com:8443\"}}"
var grid map[string]whatBean
json.Unmarshal([]byte(tmp), &grid)
fmt.Println(grid)
```
结果是这样的。。是不是哪里有错误。。刚开始用,大家帮忙
```
map[这个key好多:{ } 这个key真的好多所以用map:{ }]
```
```
// 你结构体定义有问题
type whatBean struct {
Action string `json:"action"`
Contro string `json:"contro"`
}
var grid map[string]whatBean
json.Unmarshal([]byte(tmp), &grid)
fmt.Println(grid)
```
#6
更多评论
等了一阵子发现没人回我,先用转成map用一下,等解决再用struct
```
var apiList map[string]interface{}
//转换json为
json.Unmarshal(result, &apiList)
detail,_ := apiList["这个key好多"].(map[string]interface{})
url := detail["control"].(string)+detail["action"].(string)
.....
```
#1
声明的结构体统统改成大写:
```go
type WhatBean struct {
Action string
Control string
}
```
别指望encoding/json库能访问到你没有导出的名字。
#2