Это зависит от того, какую технологию вы используете. Основной процесс заключается в чтении файла в нем, преобразовании его в любые собственные типы данных (хэш, dict, list и т. Д.) С использованием библиотеки синтаксического анализа JSON, изменении или добавлении данных в собственный объект, затем преобразовании его обратно в JSON и сохранении его в файл.
В Python при использовании библиотеки simplejson это будет выглядеть так:
import simplejson
jsonobj = simplejson.loads(open('contact.txt'))
#python's dict syntax looks almost like JSON
jsonobj.append({
'firstName': 'Steve',
'lastName': 'K.',
'address': {
'streetAddress': '123 Testing',
'city': 'Test',
'state': 'MI',
'postalCode': '12345'
},
'phoneNumbers': [
{ 'type': 'home', 'number': '248 555-1234' }
]
})
simplejson.dump(jsonobj, open('contact.txt', 'w'), indent=True)
Данные в этом примере представляют собой жестко закодированные строки, но они могут быть получены из другого файла или из данных запроса / формы веб-приложения и т. Д. Если вы делаете это в веб-приложении, я бы не советовал читать и писать в один и тот же файл (в случае одновременного поступления двух запросов).
Пожалуйста, предоставьте больше информации, если это не ответит на ваш вопрос.
В ответ на вопрос «разве нет способа сделать это с использованием стандартного JavaScript?»:
Чтобы проанализировать строку JSON в Javascript, вы можете либо eval
это (небезопасно), либо использовать синтаксический анализатор JSON, такой как этот JSON.parse
. Когда у вас есть преобразованный объект JSON, вы можете выполнять любые модификации, которые вам нужны, в стандартном JS. Затем вы можете использовать эту же библиотеку для преобразования объекта JS в строку JSON (JSON.stringify
). Javascript не разрешает доступ к файлу (если вы не используете серверная часть JS ), поэтому вы не сможете читать и записывать файл contact.txt
напрямую. Для чтения и записи файла вам придется использовать серверный язык (например, Python, Java и т. Д.).