一个天真的问题:作为大多数开发人员,我经常需要将数据保存到磁盘。几个,几个10或几个100s的值。大多数人使用XML,有些人使用JSON,但我总觉得旧的ini文件格式
键1 =值
键2 =值
最符合我的需求。这些文件非常易读,可以很容易地对它们进行文本处理,版本控制中的差异很好。
然而,似乎key = value在序列化中不是很受欢迎。我忽略了什么吗?
答案 0 :(得分:4)
这实际上取决于你要对这些价值做些什么。使用JSON,您可以以简洁的格式嵌套对象数组(每个对象都有自己的名称/值对)。显然,使用XML,您可以深度嵌套对象,每个对象可以有许多属性(最终是名称/值对)。
所以归结为风格问题。
你喜欢:
[{Name="John", Last="Smith", Salary="100"},{Name="Mary",Last="Smith",Salary="200}]
或
<People>
<Person name="John" last="Smith" salary="100" />
<Person name="Mary" last="Smith" salary="200" />
</People>
或
[Person1]
Name=John
Last=Smith
Salary=100
[Person2]
Name=Mary
Last=Smith
Salary=200
我认为如果您需要进行搜索和过滤,XML可能就是您的格式。如果您在JavaScript中使用数据或将数据发送到不同服务或从不同服务发送数据,则JSON可能是首选格式。如果它只是您需要在内部使用的数据,那么INI文件格式就完全可以了。
可能不是你想听到的,但在我看来,这实际上取决于。