我具有与下面给定的数据结构类似的数据结构,我应该对其进行处理。我正在设计一种API,该API应该接受类似于以下给出的POST请求。 (忽略标题等)
{
"Name" : "Johny English",
"Id": "534dsf",
"Message":[
{
"Header":"Country of origin",
"Value":"England"
},
{
"Header":"Nature of work",
"Value":"Secret Agent/Spy"
}
]
}
我有些不满意,这是传递/接受数据的正确方法。在这里,我谈论的是结构化数据与键值对。虽然我可以直接将字段(“名称”,“ Id”)提取到对象属性,但是对于键值对,我需要遍历集合并与字符串(例如“工作性质”)进行比较以提取价值观。我搜索了几个站点,寻找任何最佳实践都无法得出任何结论。是否有最佳实践,建议等。
我认为您不会找到任何坚决的,基于证据的论据来反对在消息模式中包含键值对列表。但这就是要寻找的东西-人们撰写有关消息模式设计的文章,以及如何设计消息以支持更改的方法,等等。
实际上,没有太大的区别
{
"Name" : "Johny English",
"Id": "534dsf",
"Message":[
{
"Header":"Country of origin",
"Value":"England"
},
{
"Header":"Nature of work",
"Value":"Secret Agent/Spy"
}
]
}
或
{
"Name" : "Johny English",
"Id": "534dsf",
"Message": {
"Country of origin": "England",
"Nature of work": "Secret Agent/Spy"
}
}
在万维网的早期,“一切”都是键值对,因为很容易用通用组件(如Web浏览器)可以工作的方式描述键值对的集合。使用它(即HTML表单的定义)。它完成了工作。