Александр Дегтярев, открывайте в режиме r+.
Причём это явно указано в документации, неужели нельзя было с ней ознакомиться?
options may also include a start option to allow writing data at some position past the beginning of the file, allowed values are in the [0, Number.MAX_SAFE_INTEGER] range. Modifying a file rather than replacing it may require a flags mode of r+ rather than the default mode w. The encoding can be any one of those accepted by Buffer.
Александр Дегтярев, start - чтобы записывать с определённой позиции (весь нижележащий текст при этом будет покоцан), 'a' - чтобы переместиться в позицию, равную размеру файла (в конец). Как они вместе уживаются и зачем их вместе пихать - непонятно, никто в здравом уме так делать не будет (поведение в данном случае не документировано и не гарантируется, что оно будет одинаковым в разных версиях и не зависеть от положения звёзд).
В будущем, когда задаёте вопрос типа "где ошибка" - указывайте, что конкретно работает не так, как ожидается, дабы сэкономить отвечающим время и сузить круг поиска ошибки)
StanHD, не пересылайте данные по незащищённому протоколу, и всё)
Если и перехватят - то наличие факта обращения к сайтам, но не сами данные, передаваемые через TLS.
maiskiykot, можно минимальный кусок кода, на котором воспроизводится проблема? Ибо я ваш текст успешно скормил функции json_encode и никакой проблемы с ним не возникло.
Причём это явно указано в документации, неужели нельзя было с ней ознакомиться?