jake6502 is correct - the result is a slice that needs to be indexed
(you might use jsonvals[2].Int()).

I'd suggest that instead of using that gjson package, you might
consider using the
standard library's encoding/json package, which enables you to define
a struct type
that mimics the expected JSON; something like this:

https://play.golang.org/p/uodaEwbjDZR

This is nice because the json package takes care of a lot of
validation before you
need to look at the data.


On 12 March 2018 at 15:42,  <asyncpima...@gmail.com> wrote:
> Go Noob here, confused about struct. My result is type []gjson.Result but I
> can't extract a named value from this struct. Help greatly appreciated, I
> have tried several articles.
>
> package main
>
> import (
>    "fmt"
>    "github.com/tidwall/gjson"
>    "reflect"
> )
>
>
> func main() {
>    // JSON package gjson
>    const json = `{"pass":true,"balance":180,"who":"f","ID":4231}]`
>
>    jsonvals := gjson.GetMany(string(json), "pass", "balance", "ID")
>    fmt.Printf("%+v\n", jsonvals)  // result: [true 180 4231]
>    fmt.Println(reflect.TypeOf(jsonvals)) // result: []gjson.Result
>    fmt.Printf("\n%+v\n", jsonvals.ID) // fails here, why? it is a struct,
> right???
>
> }
>
> --
> 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 golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
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 golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to