【发布时间】:2015-11-15 23:20:10
【问题描述】:
在社交应用(类似于 Facebook)中,用户的个人资料可能如下所示:
{"name": "Peter",
"gender": "Male",
"age": "22"}
现在,当人们导航到 Peter 的页面时,人们将能够看到 Peter 的年龄、性别和姓名。
假设彼得是一个非常私密的人,他不希望任何人知道他的任何个人信息。我可以将数据构造成如下所示:
{"name": "Peter",
"alias":"GoofyDuck",
"gender": "Male",
"age": "22",
"showGender": false,
"showName":false,
"showAge": false}
当其他人导航到他的页面时,由于json中设置的布尔值,该页面可能会阻止显示他的详细信息,但是,如果您有很多个人详细信息字段(例如,除了姓名,性别和年龄,Peter 可以输入他的地址、电话号码等),这可能会使 json 变得不必要地长。
我在想也许二进制字符串上的某种类型的掩码可能更合适:
{"name": "Peter",
"gender": "Male",
"age": "22",
"privacy":"110"}
在这种情况下,“隐私”字段上的二进制文件可以说只有他的年龄会被隐藏,因为它是 0。
我确实认为二进制字符串是在云上存储首选项的最有效方式,但我还没有看到任何使用掩码来掩盖 java 中二进制含义的示例。
我还可以解析出二进制字符串以分别获取每个值,但我认为这样做效率不高。有没有办法单独屏蔽每个值?
【问题讨论】: