从数组结构渲染json时出现问题

时间:2018-10-05 16:12:40

标签: arrays json go

我用大猩猩/ mux和mysql数据库做一个简单的休息服务

type Carro struct{
  Ano int `json:"ano" `
  Cor string `json:"cor" `
  Nome string`json:"nome" "`
}

type Revenda struct{
  carro []Carro
  roda string
}

func test(w http.ResponseWriter, r *http.Request) {
 var listas []Carro
 carA := Carro{1975,"Amarelo","Fusca"}
 listas =append(listas,carA)
 carB := Carro{1972,"Azul","Fusca"}
 listas =append(listas,carB)
 revenda := Revenda{carro:listas,roda:"branca"}
 json.NewEncoder(w).Encode(revenda)
}

只有退货

{}

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

您在内部创建结构Revenda时做错了,在该结构中您用小写字母声明了该结构的字段,但J Son软件包希望字段应导出(可变首字母应以大写字母开头),这就是其原因为此,请不要创建J Son。因此,请尝试下面我用您之前的代码修改过的代码。

 type Carro struct {
        Ano  int    `json:"ano"`
        Cor  string `json:"cor"`
        Nome string `json:"nome"`
    }

    type Revenda struct {
        Carro []Carro `json:"carro"`
        Roda  string  `json:"roda"`
    }

var listas []Carro
    carA := Carro{1975, "Amarelo", "Fusca"}
    listas = append(listas, carA)
    carB := Carro{1972, "Azul", "Fusca"}
    listas = append(listas, carB)
    revenda := Revenda{Carro: listas, Roda: "branca"}
    fmt.Println(revenda)
    json.NewEncoder(w).Encode(revenda)