У меня есть текстовый файл, где каждая строка представляет объект 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 но, как известно, обычно не имеют небезопасного размера?