Использование JSON для ежедневного журнала активности
Чтобы отслеживать мои новогодние резолюции, я создал файл daily.log
в следующем формате.
8:40 AM 1/2/2013
begin:755am
activity:enquired about 3x3 black board;bought book [beginning html 5]
waste:facebook;
meeting:old friend;mechanic
programming:none
blogpost:[asp.net deployment]
do:buy black board
done:
end:1045pm
Я нахожусь в процессе создания простого консольного приложения на C#, которое задаст мне несколько вопросов и соответствующим образом заполнит этот файл. Одной из будущих функций этого инструмента будет отображение простой веб-страницы в стиле панели инструментов для измерения хода выполнения решений, помимо прочего.
Я хотел бы использовать формат файла сериализации или конфигурации данных для хранения информации о ежедневной активности таким образом, потому что для этих форматов доступны зрелые инструменты, а не для простого текста.
Я никогда раньше не использовал JSON, и мне интересно, можно ли независимо использовать формат JSON с C# (без использования javascript), и даже если я могу, уместно ли в этом случае использование JSON.
Если не JSON, его надмножество YAML? или есть другие альтернативы, которые хорошо подходят для этой цели?
2 ответа
Если ваша цель - работать с внешними инструментами, чтобы они распознавали и могли работать с вашими файлами, лучше, чем JSON, использовать XML. Этот формат является более строгим (и вы можете использовать XML-схему для проверки формата), и существует гораздо больше инструментов, способных работать с XML, чем для JSON.
.NET Framework также содержит расширенную поддержку XML в System.Xml
пространство имен (см. http://msdn.microsoft.com/en-us/library/system.xml(v=vs.100).aspx).
При этом нет причин, по которым JSON не будет работать с C#. Я лично использовал библиотеку JSON.NET для большинства работ JSON, и она прекрасно работает (см. http://james.newtonking.com/projects/json-net.aspx). Имейте в виду, данные, которые вы показываете в вашем примере, не является допустимым JSON.
Удачи!
Вы можете использовать JSON.NET в C# без использования JavaScript. И я считаю, что эти данные могут быть смоделированы в формате JSON.