和另一个部门对接的时候,经常因为业务需求的改变,需要增加或者修改数据库的 field 。
比如 People 这个 table ,原先 firstName, lastName ;后来要增加学历,就增加了一个 education ;后来需要 tag ,就让对方加了一个 tag 表等等。
每次增加 feature 都要等挺久的,所以想申请一个 TEXT field ,然后自己定一个数据格式进行存储。一般来说都希望用 JSON ,但是很多用户喜欢在网页上修改,所以 JSON 这个格式不太自由,也不好阅读。本来 XML 这种格式不错,但是特殊符号的处理很麻烦,比如“<>”也不可能让用户边查边写。
目前想到的是 TOML 格式,支持很多数据类型,也支持 comment 。
====
一些自由文本
{start indicator}
“TOML 文本”
[basic]
fisrtName = "小明"
lastName = "王"
[advanced]
tags = ["程序员", “大牛”]
# 学历可能不准确,稍后校对
education = ["北大青鸟", "山东蓝翔"]
travel = "Beijing <> Shanghai"
{end indicator}
一些自由文本
====
这样一来,我在后台处理的时候,可以根据 indicator 截取 TOML 文本,并转换成 JSON 这类通用格式。如此一来,序列化、反序列化都容易实现。 自由文本则是留给用户,有更多修改余地。
不知道这样做有没有坑,或者还有没有更好的数据格式?
比如 People 这个 table ,原先 firstName, lastName ;后来要增加学历,就增加了一个 education ;后来需要 tag ,就让对方加了一个 tag 表等等。
每次增加 feature 都要等挺久的,所以想申请一个 TEXT field ,然后自己定一个数据格式进行存储。一般来说都希望用 JSON ,但是很多用户喜欢在网页上修改,所以 JSON 这个格式不太自由,也不好阅读。本来 XML 这种格式不错,但是特殊符号的处理很麻烦,比如“<>”也不可能让用户边查边写。
目前想到的是 TOML 格式,支持很多数据类型,也支持 comment 。
====
一些自由文本
{start indicator}
“TOML 文本”
[basic]
fisrtName = "小明"
lastName = "王"
[advanced]
tags = ["程序员", “大牛”]
# 学历可能不准确,稍后校对
education = ["北大青鸟", "山东蓝翔"]
travel = "Beijing <> Shanghai"
{end indicator}
一些自由文本
====
这样一来,我在后台处理的时候,可以根据 indicator 截取 TOML 文本,并转换成 JSON 这类通用格式。如此一来,序列化、反序列化都容易实现。 自由文本则是留给用户,有更多修改余地。
不知道这样做有没有坑,或者还有没有更好的数据格式?