@anonymanon

Golang как формировать json из записей БД?

Добрый день, не могу понять как получить один большой JSON из записей БД.
Пример кода
type Statistic struct {
	usernumber 		 string
	timestamp 		 string
	holdtime 		    string
	position 		    string
	queue 		    string
	originalposition       string
	active 		    string
	agent 		    string
}

rows, err := dbStat.Query("SELECT usernumber, timestamp, holdtime, queue, position, originalposition, active, agent FROM datatable ORDER BY created_at desc")
if err != nil{
	log.Println(err)
}
defer rows.Close()

stats := make([]*Statistic, 0)

for rows.Next() {
    
    bk := new(Statistic)
    err := rows.Scan(&bk.usernumber, &bk.timestamp, &bk.holdtime, &bk.queue, &bk.position, &bk.originalposition, &bk.active, &bk.agent)	        
    if err != nil { log.Fatal(err) }
    
    stats = append(stats, bk)

    for _, bk := range stats {

		fmt.Println(bk.agent)

		// тут была передача нужных значений дальше в методы
		// теперь нужно сформировать один JSON со всеми значениями
    }
}


Перебрать значения и сформировать по одному json-у получается, а вот что б получить один json со всеми значениями не получается, даже не знаю как это загуглить и куда копать.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
  • yellow79
    @yellow79
    Senior Software Engineer
    После цикла надо преобразовать stats в json
    jsonData, err := json.Marshal(&stats)
    Но у структуры Statistic нет экспортируемых полей, поэтому это не прокатит. Надо сделать поля структуры экспортируемыми, тоесть с большой буквы их описать
    Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы