我注意到,您可以在其他声明的对象上使用$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
}
}
}
从本质上讲,这是一种使用我所追求的Tree结构序列化类似Graph的数据的方法。
答案 0 :(得分:0)
因此,看起来有些Json序列化程序确实支持此功能,它不是一个单独的规范-它是JSON规范中内置的功能。
请参见https://www.newtonsoft.com/json/help/html/PreserveObjectReferences.htm。