以下JSON文件需要存储163个字节。
{
"locations": [
{
"station": 6,
"category": 1034,
"type": 5
},
{
"station": 3,
"category": 1171,
"type": 7
},
]
}
但是,如果将值组合为带有分隔符','和'_'的字符串,6_1034_5,3_1171_7
只需要17个字节。
这种方法有什么问题?
谢谢。
答案 0 :(得分:1)
我在这种方法中遇到的问题主要集中在可维护性上。
使用分隔方法,您的位置项的属性由序数标识。由于存在所有数字,因此无需告诉您第一个分段是电台,类别还是类型;你必须提前知道。您的代码库新手可能不知道,因此会引入错误。
现在您的所有数据都是整数,这些数据相对容易编码和解码,并且不会冒与分隔符冲突的风险。但是,如果您需要在某个时刻添加用户提供的文本,则存在包含分隔符的文本的风险。在这种情况下,您将不得不发明一个转义/编码机制,以确保您可以可靠地检测您的分隔符。这看似简单,但比你想象的要困难得多。我已多次看错了。
使用众所周知的结构化文本格式(如XML或JSON)具有以下优点:它已经完全开发并测试了处理所有类型文本的规则,并且有完整开发和测试的库用于读取和写入。
根据您的具体情况,对存储量的这种担忧可能是微观优化。您可能希望尝试一些容量计算(例如,X项目需要多少实际存储空间),并将其与预期的项目数量与可用的预期存储量进行比较。