在JSON有效负载中,如何在一个地方引用另一个地方的数据?
用例:想象一下明确定义的可序列化实体A(a1,a2,a3)和B(b1,b2,b3)。现在考虑需要以下内容的HTTP请求有效负载:
{
data : {
"entityOne" : Entity Representation of entity A,
"entityTwo" : Entity Representation of entity B
},
relationships : {
"parenthood" : // Here I need to refer entityOne & entityTwo
// to express the notion of one being child of other
}
}
请让我知道您对实现此参考的想法。
我考虑过的方法:
强制客户端针对有效负载中的每个实体发送临时引用ID,并在关系中使用它们,如下所示
{
data : {
"entityOne" : { "id" : "temp1" -- other data for type A }
"entityTwo" : { "id" : "temp2" -- other data for type B }
},
relationships : {
"parenthood" : {
"parent" : "temp1",
"child" : "temp2"
}
}
}
答案 0 :(得分:0)
您可以使用JSON参考https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03
{
"data" : {
"entityOne": { ... }
"entityTwo": { ... }
},
"relationships" : {
"parenthood" : {
"parent" : { "$ref": "#/data/entityOne" },
"child" : { "$ref": "#/data/entityTwo" }
}
}
}