属性使用JSON.Net进行反序列化时排序

我正在尝试使用JsonConvert.DeserializeObject将字符串反序列化为JSON对象,如下所示:

var str = "{ Value: \"File\",Text: \"OWENS & MINOR INFANT - 2228548\"}"; agreementnodes = JsonConvert.DeserializeObject<List>("[" + str + "]"); 

当json转换为数组时,属性按字母顺序排列。 示例:尽管Value是第一个而Text在字符串中,但属性显示如下:

在此处输入图像描述

即使在课堂宣言中,我的价值是冷杉,而文字则是第二。 但是在反序列化时,属性按字母顺序排序。

 [JsonProperty(Order = 9)] public string Value { get; set; } [JsonProperty(Order = 10)] public string Text { get; set; } 

有没有办法在结果数组中保留属性的顺序,就像我想要reconsarray [0] = Value和resularray 1 = Text?

json.net序列化器没什么问题。 它在快速观察和观看窗口中按字母顺序自动排序。 如果需要,请检查System.Web.HttpContext.SystemWebAssembly。 它不是反序列化的代码。

在此处输入图像描述

根据规范,属性的排序是不确定的。 尽管如此,最新的ECMAScript(JavaScript)规范还需要一个有序的格式,它还支持新的酷应用程序,例如: https : //cyberphone.github.io/openkeystore/resources/docs/jcs.html#ECMAScript_Compatibility_Mode