У меня есть веб-приложение, которое имеет REST API, получает JSON в качестве входных данных и выполняет преобразования этого JSON.
Вот мой код:
func (a *API) getAssignments(w http.ResponseWriter, r *http.Request) {
var document DataPacket
err := json.NewDecoder(r.Body).Decode(&document)
if err != nil {
a.handleJSONParseError(err, w)
return
}
// transformations
JSON, который я получаю - это коллекция структур. Внешнее приложение использует мое приложение и отправляет мне очень большие файлы JSON (300-400 МБ). Декодирование этого json в один момент времени занимает очень много времени и объема памяти.
Есть ли способ поработать с этим json в качестве потоковых и декодирующих структур из этой коллекции один за другим?