And in case you want to actually marshal it into a struct, I recommend 
giving JSON to Go a... go.

On Tuesday, 22 November 2016 20:48:49 UTC, vanmuld...@gmail.com wrote:
>
> I just started leaning Go and I've been stuck on this for a couple of days
>
> Running on an App Engine dev server
>
>
> The idea is to get an object I can work with with a format like this:
>
>
> {
>   "Results": [
>     {
>       "username": "Test username",
>       "username_sani": "testusername",
>       "dob": "1992-09-10",
>       "email": "",
>       "gender": "M",
>       "account_type": "user",
>       "account_status": "enabled",
>       "activated": 1,
>       "country": "US",
>       "weekly_playtime": "6",
>       "game": [
>         
>       ],
>       "primary_game": "",
>       "activation_code": "BOxc9P2FomaaL4qKkQ2JMUIa1kgaYCJUlkfUqTs9",
>       "password": "",
>       "last_active": "2016-11-20 20:27:38",
>       "lol": {
>         "verify_string": "ymn8Hm9ojfCzLqgZaZDi"
>       },
>       "login_history": [
>         {
>           "date": "2016-11-20 20:03:46",
>           "result": "login_ok",       
>           "forward": "",
>           "timezone": -300
>         }
>       ],
>       "current_login_att": 0,
>       "reset_password_entries": [
>         {
>           "code": "sZln9bCoLYVrPXErKes5",
>           "valid_till": "2016-11-22 01:10",
>           "result": "cancelled"
>         }
>     }
>   ],
>   "Includes": [],
>   "IsStale": false,
>   "IndexTimestamp": "2016-11-21T16:21:06.5157187Z",
>   "TotalResults": 1,
>   "SkippedResults": 0,
>   "IndexName": "users_search",
>   "IndexEtag": "01000000-0000-0069-0000-00000001AED9",
>   "ResultEtag": "A85E1A89-3C87-F9AA-B0BA-41EC39CD225A",
>   "Highlightings": {},
>   "NonAuthoritativeInformation": false,
>   "LastQueryTime": "2016-11-22T19:19:39.0784570Z",
>   "DurationMilliseconds": 0,
>   "ScoreExplanations": {},
>   "TimingsInMilliseconds": {},
>   "ResultSize": 0
> }
>
>
> My current code :
>
>
>         ctx := appengine.NewContext(req)
> client := urlfetch.Client(ctx)
> //
> resp,_ := client.Get(ip+"/indexes/"+ query)
> //
> doc,_ := ioutil.ReadAll(resp.Body)
> //
> resp.Body.Close();
> //
> var index_results IndexResults
> err := json.Unmarshal(doc,&index_results)
> if err != nil {
> log.Println(err)
> }
> log.Println(index_results) 
>
>
> Struct
> type IndexResults struct{
> Results []byte `json:"Results"`
> }
>
> Which gives me an error : json: cannot unmarshal object into Go value of 
> type uint8
> With result {[0]}
>
> How can I receive json results with dynamic fields that may or not be 
> there? Do I define a struct for every possible result?
>
> Thank you
>
>
>
>
>

-- 
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