我正在尝试反序列化一个树,其中每个节点都有其父节点和子节点的引用。序列化树没有问题,但反序列化不保留父引用。相反,它变为空。
我正在尝试简化的内容:
Before deserializing:
{
"$id": "1",
"Parent": null,
"Children": [
{
"$id": "2",
"Parent": {
"$ref": "1"
},
"Children": []
}
]
}
After deserializing:
{
"$id": "1",
"Parent": null,
"Children": [
{
"$id": "2",
"Parent": null,
"Children": []
}
]
}
输出是这样的:
function arraysMatch(arr1, arr2) {
return arr1.length === arr2.length && arr1.every(function (char, indx) {
return arr1[indx] === arr2[indx];
});
}
var konamiCode = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65, 83];
var code = [];
var timeout = null;
document.addEventListener("keyup", function (event) {
clearTimeout(timeout);
if (code.length >= konamiCode.length) {
code = [];
}
code.push(event.keyCode);
if (arraysMatch(konamiCode, code)) {
alert("code entered!");
}
timeout = setTimeout(function () {
code = [];
}, 3000)
});
这是Json.net中的错误吗?有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
我不确定JSON的问题是什么,但如果您的孩子没有父引用,那么您可以修复它。
以下是Ed Plunkett提出的建议:
public void fixParents(Node parent)
{
foreach(Node child in parent.Children)
{
fixParents(child);
child.Parent = parent;
}
}