I want to print out the first "row" of my JSON that is within a struct in Go. The JSON looks like
[
{
"id":"7",
"username":"user",
"subject":"subject",
"message":"message"
},
{
"id":"6",
"username":"user2",
"subject":"subject2",
"message":"message2"
},
{
"id":"5",
"username":"user3",
"subject":"subject3",
"message":"message3"
},
{
"id":"4",
"username":"user4",
"subject":"subject4",
"message":"message4"
},
{
"id":"3",
"username":"user5",
"subject":"subject5",
"message":"message5"
},
{
"id":"2",
"username":"user6",
"subject":"subject6",
"message":"message6"
},
{
"id":"1",
"username":"user7",
"subject":"subject7",
"message":"message7"
}
]
I have put it in a Struct like this
type Info struct {
Id string
Username string
Subject string
Message string
}
infoJson := html;
var information []Info;
err2 := json.Unmarshal([]byte(infoJson), &information);
if err2 != nil {
fmt.Println(err2);
}
And then I can print all of them out using
for _, info := range information {
fmt.Println(info.Id + " " + info.Username);
fmt.Println(info.Subject);
fmt.Println(info.Message);
}
I would like to just be able to print out the JSON that is aligned with a specific id. For example, I wish to be able to specify 7 and then all the things that are in the id:7 JSON row will be printed out in the above format. So it should print out:
7 user
subject
message
How can I do this?