gpt4 book ai didi

serialization - Json.net 似乎依赖 $type 作为第一个属性。有没有办法解除该限制或轻松重新排序我的 json?

转载 作者:行者123 更新时间:2023-12-04 05:59:12 26 4
gpt4 key购买 nike

我在 JavaScript 中构建多态序列化类型并在 .Net 中反序列化它们。这很好用,除非我的“$type”属性不是第一个属性(然后 Json.net 似乎忽略了它)。

所以:

{
"$type" : "...",
"FirstName" : "Bob"
}

有效(它反序列化为 $type 提供的类型),但是:
{
"FirstName" : "Bob",
"$type" : "..."
}

没有。

有没有办法让我的订单无关紧要,或者有一种简单的方法来获取我的 json 字符串并修改它,以便我的“$type”属性始终位于 .Net 的顶部?换句话说,我可以在反序列化字符串以重新排序属性之前使用 json.net 以便“$type”位于顶部吗?我不想让它成为 JavaScript/序列化方面的一项要求。

最佳答案

更新:使用 MetadataPropertyHandling.ReadAhead
http://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_MetadataPropertyHandling.htm

它必须是第一。

您可以将 JSON 加载到 JObject 中,重新排列属性顺序,使 $type 成为第一个属性,然后对其进行反序列化。

关于serialization - Json.net 似乎依赖 $type 作为第一个属性。有没有办法解除该限制或轻松重新排序我的 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17032769/

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