gpt4 book ai didi

json - $id token 是 JSON 标准吗?

转载 作者:行者123 更新时间:2023-12-05 03:12:34 25 4
gpt4 key购买 nike

使用 Microsoft WebApi 2(使用第三方 Json.NET 库),假设我返回以下 people 数组:

var p1 = new Person("Alice");
var p2 = new Person("Bob");
p1.Sibling = p2;
p2.Sibling = p1;
var people = new[] { p1, p2 };

为了避免循环引用,Json.NET 输出如下 JSON:

[  
{
"$id":"1",
"Name":"Alice",
"Sibling":{
"$id":"2",
"Name":"Bob",
"Sibling":{
"$ref":"1"
}
}
},
{
"$ref":"2"
}
]

Javascript 的 JSON.parse() 方法对这种语法一无所知。我查阅了 JSON 规范,发现在指针中使用了 $ref 关键字,但没有看到它们使用了 $id 关键字。 Json.NET 有什么奇怪的地方吗?还是 JSON 规范中没有得到广泛支持的内容?

最佳答案

不,$id$ref 不是 JSON 标准的一部分(您会注意到 JSON.org 中没有任何地方提到它);这是 Json.Net 用于标记对象并引用它们以保留反序列化引用的约定。其他 JSON 库可能遵循也可能不遵循相同的约定。参见 Preserving Object References在 Json.Net 文档中获取更多信息。

注意:有一些 javascript 方法可以处理解析来自 Json.Net 的 $id/$ref 符号。您可能对这些示例感兴趣:

关于json - $id token 是 JSON 标准吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33310848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com