У меня есть текстовый файл, где каждая строка представляет объект JSON. Я обрабатываю этот файл в Go с помощью простого цикла for
этого:
scanner := bufio.NewScanner(file)
for scanner.Scan() {
jsonBytes = scanner.Bytes()
var jsonObject interface{}
err := json.Unmarshal(jsonBytes, &jsonObject)
// do stuff with "jsonObject"...
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
Когда этот код достигает строки с особенно большой строкой JSON (~ 67kb), я получаю сообщение об ошибке "bufio.Scanner: токен слишком длинный".
Есть ли простой способ увеличить максимальный размер строки, читаемый NewScanner
? Или есть другой подход, который вы можете предпринять вообще, когда нужно читать строки, которые слишком велики для NewScanner
но, как известно, обычно не имеют небезопасного размера?