我注意到,这种形式的规范可以将$ref用于其他声明的对象,这是一种可以用于许多用例的模式。
这个有名字吗?有没有针对它的库?
我可以看到,当您希望能够将关系数据序列化为JSON / YAML文件并将其反序列化为内存中的对象时,这是非常有用的。
下面是我想要做的一个例子:
我想序列化这个类,它引用了其他对象。
class Node {
Node next;
Node prev;
}它可以像这样序列化:
{
"nodes": {
"0": {
"next": {
"$ref": "#/nodes/1"
}
},
"1": {
"prev": {
"$ref": "#/nodes/0"
}
}
}
}或者也许
{
"next": {
"prev": {
"$ref": "#" // The root
}
}
}本质上,它是一种使用我想要的树结构来序列化类似图的数据的方法。
发布于 2019-11-29 05:58:04
所以看起来有些Json序列化程序确实支持这一点,而且它不是一个单独的规范--它是JSON规范中内置的一个特性。
参见https://www.newtonsoft.com/json/help/html/PreserveObjectReferences.htm。
https://stackoverflow.com/questions/59077124
复制相似问题