Сортировка и фильтрация вывода карты в golang - okta api - PullRequest
0 голосов
/ 18 марта 2020

Я взаимодействую с Okta API через go sdk. Я новичок в golang и могу вернуть данные, но в формате, в котором я не уверен, что делать.

func main() {
    client, _ := okta.NewClient(context.Background(), okta.WithOrgUrl({URL}), okta.WithToken({TOKEN}))
    filter := query.NewQueryParams(query.WithFilter("status eq \"ACTIVE\""))
    users, resp, err := client.User.ListUsers(filter)
    fmt.Println(resp, err)
    for _, user := range users {
        fmt.Println(user.Profile)
    }
}

возвращает: PII отредактирован **

&{0xc000106480} <nil>
&map[email:{email} firstName:{FN} lastName:{LN} login:{login} mobilePhone:<nil> secondEmail:<nil> sshUserName:{ssh}
next user
next user
so on
so on

У меня вопрос, как я могу отфильтровать выходные данные только по определенным полям и выполнить некоторую сортировку или фильтрацию. Я ожидал, что результат будет в JSON.

1 Ответ

1 голос
/ 18 марта 2020

Если вы хотите скрыть некоторые поля структуры из вывода json, следуйте приведенному ниже правилу:

type User struct {
  ID int `json:"id"`
  Username string `json:"username"`
  MobilePhone string `json:"-"`
}

Вы должны использовать символ -, чтобы скрыть поля структуры. Я рекомендую вам прочитать о Golang тегах. https://medium.com/golangspec/tags-in-golang-3e5db0b8ef3e

...