Skip to content

Instantly share code, notes, and snippets.

@Vostbur
Created December 16, 2022 17:03
Show Gist options
  • Save Vostbur/b4c53584f06f1cbee0538ef2e7b7635f to your computer and use it in GitHub Desktop.
Save Vostbur/b4c53584f06f1cbee0538ef2e7b7635f to your computer and use it in GitHub Desktop.
Stepic. Golang. Work with json

Данная задача ориентирована на реальную работу с данными в формате JSON. Для решения мы будем использовать справочник ОКВЭД (Общероссийский классификатор видов экономической деятельности), который был размещен на web-портале data.gov.ru.

Необходимая вам информация о структуре данных содержится в файле structure-20190514T0000.json, а сами данные, которые вам потребуется декодировать, содержатся в файле data-20190514T0100.json. Файлы размещены в нашем репозитории на github.com.

Для того, чтобы показать, что вы действительно смогли декодировать документ вам необходимо в качестве ответа записать сумму полей global_id всех элементов, закодированных в преложенном файле.

package main
import (
"encoding/json"
"fmt"
"io/ioutil"
)
func main() {
data, err := ioutil.ReadFile("./data-20190514T0100.json")
if err != nil {
fmt.Print(err)
}
type GlobalIds []struct {
Id int `json:"global_id"`
}
var globalIds GlobalIds
err = json.Unmarshal(data, &globalIds)
if err != nil {
fmt.Print(err)
}
var sum int
for _, i := range globalIds {
sum += i.Id
}
fmt.Print(sum)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment