잠시만 기다려 주세요

     '대통령을 욕하는 것은 민주사회에서 주권을 가진 시민의 당연한 권리입니다. 대통령을 욕하는 것으로 주권자가 스트레스를 해소할 수 있다면 저는 기쁜 마음으로 들을 수 있습니다. - 노무현 -'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (19)  |  여러가지 팁 (1095)  |  추천 및 재미 (163)  |  자료실 (28)  |  
시사, 이슈, 칼럼, 평론, 비평 (795)  |  끄적거림 (142)  |  문예 창작 (719)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    golang

golang - golang How to convert JSON string to map and slice, json 컨버트 사용하기
이 름 : 바다아이   |   조회수 : 9883         짧은 주소 : https://www.bada-ie.com/su/?661591852689
Couple of simple examples on how to convert JSON string to map and slice(array).

Simple and straightforward way of converting one line of JSON string.


 package main

  import (
          "encoding/json"
          "fmt"
  )

  func main() {

          jsonStr := `{"Name":"Adam","Age":36,"Job":"CEO"}`

          personMap := make(map[string]interface{})

          err := json.Unmarshal([]byte(jsonStr), &personMap)

          if err != nil {
                  panic(err)
          }

          for key, value := range personMap {
                  fmt.Println("index : ", key, " value : ", value)
          }

  }

Output:

    index : Name value : Adam

    index : Age value : 36

    index : Job value : CEO



Convert multiple lines of JSON string to map and append each line into a slice(array).


 package main

 import (
         "encoding/json"
         "fmt"
         "strconv"
 )

 func main() {

         jsonStr := `[{
         "Name": "Adam",
         "Age": 36,
         "Job": "CEO"
 }, {
         "Name": "Eve",
         "Age": 34,
         "Job": "CFO"
 }, {
         "Name": "Mike",
         "Age": 38,
         "Job": "COO"
 }]`

         type Person struct {
                 Name string
                 Age  int
                 Job  string
         }
         var people []Person

         var personMap []map[string]interface{}

         err := json.Unmarshal([]byte(jsonStr), &personMap)

         if err != nil {
                 panic(err)
         }

         for _, personData := range personMap {

                 // convert map to array of Person struct
                 var p Person
                 p.Name = fmt.Sprintf("%s", personData["Name"])
                 p.Age, _ = strconv.Atoi(fmt.Sprintf("%v", personData["Age"]))
                 p.Job = fmt.Sprintf("%s", personData["Job"])
                 people = append(people, p)

         }
         fmt.Println(people)

 } 

Output:

    [{Adam 36 CEO} {Eve 34 CFO} {Mike 38 COO}]


출처 : https://www.socketloop.com/tutorials/golang-how-to-convert-json-string-to-map-and-slice
| |





      1 page / 6 page
번 호 카테고리 제 목 이름 조회수
180 golang golang ... 바다아이 120
179 golang golang , ... 바다아이 2700
178 golang golang , map . 바다아이 2090
177 golang Golang (, , data ) , ... 바다아이 2403
176 golang golang sort ... 바다아이 2788
175 golang golang html.EscapeString html.UnescapeString input value ... 바다아이 2708
174 golang golang go.mod go.sum . GOPATH SRC not module, 1.16 . 바다아이 6235
173 golang go 1.16 ... is not in GOROOT.. GOPATH .... . 바다아이 7387
172 golang , String Formatting 바다아이 8699
171 golang rand.Intn , random, , . 바다아이 8218
170 golang golang ... 바다아이 11976
169 golang golang gopath, goroot .. golang 바다아이 8948
168 golang golang ... Force download file example 바다아이 10975
167 golang golang , , cpu, memory, disk 바다아이 12038
166 golang golang , ... GOOS, GOARCH 바다아이 9696
165 golang golang checkbox ... 바다아이 9556
164 golang golang , , http .... 바다아이 9377
163 golang golang nil , nil , nil ... 바다아이 9459
162 golang 2 golang, go , .... golang .... 바다아이 12706
161 golang golang postgresql, mysql, mariadb ... ` Grave () .. .. 바다아이 10018
160 golang golang postgresql mysql, mariadb scan , null .. 바다아이 10079
159 golang golang , iconv 바다아이 12895
158 golang golang quote escape, unquote 바다아이 10319
157 golang golang , http errorLog , , ... 바다아이 10705
156 golang golang interface , 바다아이 9780
155 golang golang struct .... 바다아이 10502
154 golang golang map map , 바다아이 9985
153 golang golang map .... .... 바다아이 9309
152 golang golang slice copy 바다아이 9501
151 golang golang goto 바다아이 10692
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.1469
to webmaster... gogo sea. gogo sea.