golang-okta api中的地图输出排序和过滤
我通过go sdk与Okta API进行交互。我是刚来golang的新手,能够拿回数据,但我不确定该怎么处理golang-okta api中的地图输出排序和过滤,go,okta,okta-api,Go,Okta,Okta Api,我通过go sdk与Okta API进行交互。我是刚来golang的新手,能够拿回数据,但我不确定该怎么处理 func main() { client, _ := okta.NewClient(context.Background(), okta.WithOrgUrl({URL}), okta.WithToken({TOKEN})) filter := query.NewQueryParams(query.WithFilter("status eq \"ACTIVE\""))
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
&{0xc000106480}
&map[email:{email}firstName:{FN}lastName:{LN}登录:{login}手机:第二封email:sshUserName:{ssh}
下一个用户
下一个用户
等等
等等
我的问题是如何将输出过滤到特定字段并进行排序或过滤。我希望输出是JSON格式的。如果要从JSON输出中隐藏某些结构字段,请遵循以下规则:
type User struct {
ID int `json:"id"`
Username string `json:"username"`
MobilePhone string `json:"-"`
}
您必须使用-
字符隐藏结构字段。我建议您阅读有关Golang标记的内容。
如果要从json输出中隐藏某些结构字段,请遵循以下规则:
type User struct {
ID int `json:"id"`
Username string `json:"username"`
MobilePhone string `json:"-"`
}
您必须使用-
字符隐藏结构字段。我建议您阅读有关Golang标记的内容。
您需要将响应对象封送到json对象中,您可以打印一个字符串表示形式。请尝试以下操作:
import (
"context"
"encoding/json"
"fmt"
"log"
"github.com/okta/okta-sdk-golang/v2/okta"
"github.com/okta/okta-sdk-golang/v2/okta/query"
)
var b []byte
var err error
filter := query.NewQueryParams(query.WithFilter("status eq \"ACTIVE\""))
ctx, client, err := okta.NewClient(context.Background(), okta.WithOrgUrl({URL}), okta.WithToken({TOKEN}))
users, resp, err := client.User.ListUsers(ctx, filter)
if err != nil {
log.Println(err.Error())
} else {
log.Println(resp.Status)
if users != nil {
b, err = json.MarshalIndent(users, "", " ")
if err != nil {
panic(err)
}
}
fmt.Println(string(b))
}
您需要将响应对象封送到一个json对象中,您可以打印一个字符串表示形式。请尝试以下操作:
import (
"context"
"encoding/json"
"fmt"
"log"
"github.com/okta/okta-sdk-golang/v2/okta"
"github.com/okta/okta-sdk-golang/v2/okta/query"
)
var b []byte
var err error
filter := query.NewQueryParams(query.WithFilter("status eq \"ACTIVE\""))
ctx, client, err := okta.NewClient(context.Background(), okta.WithOrgUrl({URL}), okta.WithToken({TOKEN}))
users, resp, err := client.User.ListUsers(ctx, filter)
if err != nil {
log.Println(err.Error())
} else {
log.Println(resp.Status)
if users != nil {
b, err = json.MarshalIndent(users, "", " ")
if err != nil {
panic(err)
}
}
fmt.Println(string(b))
}