Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
    • Helm Chart
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log & Monitor
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • Toggle search form

[Golang] Convert between Json and Struct in Golang

Posted on June 13, 2022 By nim No Comments on [Golang] Convert between Json and Struct in Golang

Khi sử dụng resty để sent POST (Restful API) thì nếu nhận về payload nhận về sẽ là chuổi json

chuyển đổi json và struct trong golang
Nim tham khảo link này
https://golangbyexample.com/struct-json-golang/

>>>>>model
type In4Connector struct {
	Name   string `json:"name,omitempty"`
	Config struct {
		ConnectorClass                                  string `json:"connector.class,omitempty"`
		SnapshotLockingMode                             string `json:"snapshot.locking.mode,omitempty"`
		TasksMax                                        string `json:"tasks.max,omitempty"`
		DatabaseHistoryKafkaTopic                       string `json:"database.history.kafka.topic,omitempty"`
		TransformsTopicRoutingMap                       string `json:"transforms.topicRouting.map,omitempty"`
		Transforms                                      string `json:"transforms,omitempty"`
		IncludeSchemaChanges                            string `json:"include.schema.changes,omitempty"`
		TableWhitelist                                  string `json:"table.whitelist,omitempty"`
		TombstonesOnDelete                              string `json:"tombstones.on.delete,omitempty"`
		DecimalHandlingMode                             string `json:"decimal.handling.mode,omitempty"`

>>>>handler

func (r *Resty) ResetConnector(clusterAlias string, connector string, token string, offsetTopic string) (error) {
	client.SetTLSClientConfig(&tls.Config{InsecureSkipVerify: true})
	//get detail infomation of a connector
	var response = restclient_model.In4Connector{}
	resp, err := client.R().
		SetHeader("Accept", "application/json").
		SetHeader("x-kafka-lenses-token", token).
		Get(r.Url+"/api/proxy-connect/"+clusterAlias+"/connectors/"+connector)
	if err != nil {
		log.Error(err.Error())
		return err
	}
	err = json.Unmarshal([]byte(resp.String()), &response)
	if err != nil {
		log.Error(err.Error())
		return err
	}

Bạn là để ý là mình sẽ chuẩn bị 1 struct là In4Connector
Tiếp đó mỉnh sử dụng json.Unmarshal([]byte(), ) để chuyển string resp.String() sang struct và đưa vào &response

GoLang Byte Array to String
https://golangdocs.com/golang-byte-array-to-string

Golang

Post navigation

Previous Post: [Golang/string] Remove or Delete a few words or characters in a string through Golang.
Next Post: [Lenses] Insert data or Push messages to Kafka via Lenses.

More Related Articles

[Golang] Convert this data type to another data type in Golang Golang
[Golang] Ứng dụng Framework echo vào trong golang. Golang
[Golang] Split or Cut a string many small pieces with Golang Golang
[Golang] Using Repository Pattern to integrate the Database (Postgres) Golang
[go-git] returned a non-zero code: 1 when building docker Golang
[GRPC/Golang] Learning GRPC and Golang through the easy and actual lessons. Golang

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • Experiences for IP Addresses Shortage on EKS Clusters March 29, 2023
  • [Talisman] Discover the sensitive information in your code. March 28, 2023
  • [Prometheus/Grafana] Install Prometheus and Grafana on ubuntu. March 27, 2023
  • [Kong Gateway] WebSocket connection failed March 26, 2023
  • [Nextcloud] Can’t download files to have a size bigger than 2Gi on NextCloud – RaspBerry March 24, 2023

Archives

  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
    • NextCloud
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Git
      • Bitbucket
    • Harbor
    • Jenkins
    • Spinnaker
    • TeamCity
  • Coding
    • Golang
    • Jquery & JavaScript
    • Laravel
    • Python
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kong Gateway
    • Kubernetes
      • Ingress
    • Longhorn – Storage
    • MetalLB
    • Vault
    • VictoriaMetrics
  • Log & Monitor
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2023 NimTechnology.