Lot's of people will jump up and down that this is "unsafe," but if you're 
building a utility and have complete control of the code something like 
this might work: https://play.golang.org/p/eDPoI83C0u

On Sunday, October 2, 2016 at 10:39:08 PM UTC-6, Sarah Ahmed wrote:
>
> Hello,
> I am trying to initialize the "State" to a default value "NY" of Address 
> slice.
> The following code only sets the first element's State.
> I do not know how many element would be in my input.
> Is there any easy way to do it?
> Thanks in advance for your help.
>
> package main
>
> import (
>  "encoding/json"
>  "fmt"
>  "log"
> )
>
>
> type Address struct {
>  Street string `json:"Street"`
>  City   string `json:"City"`
>  State  string `json:"State"`
> }
>
>
> type Person struct {
>  Name string    `json:"Name"`
>  Adr  []Address `json:"Address"`
> }
>
>
> var p = &Person{Adr: []Address{Address{State: "NY"}}}
>
>
> func main() {
>  input:= "{\"Name\": \"User1\",\"Address\":[{\"Street\": \"Main 
> St\",\"City\": \"City One\"},{\"Street\": \"Central St\",\"City\": \"City 
> Two\"}]}"
>  err := json.Unmarshal([]byte(input), &p)
>  if err != nil {
>     log.Printf("Unmarshal error: ", err.Error())
>  }
>  fmt.Printf("%#v", p)
> }
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to