C# 字典到 json - 自动排序
Posted
技术标签:
【中文标题】C# 字典到 json - 自动排序【英文标题】:C# dictionary to json - sorts automatically 【发布时间】:2013-11-18 08:36:03 【问题描述】:我在 MVC 中工作。这是一个 $.AJAX 帖子,我正在返回一个字典,它已经按键降序排序。然后我将此字典作为 JSON 结果传递。
但在浏览器中,我得到的是同一个字典,但按键升序排序。
是否有任何原因导致它以其他方式排序,或者如果这是任何问题,请告诉我我应该怎么做才能获得具有相同排序顺序的字典。
我已经用谷歌搜索了,但没有找到与此相关的任何内容。
问候, 文卡特森R
【问题讨论】:
如果无法保证枚举顺序,如何对字典进行排序? 【参考方案1】:字典没有排序。这没关系,因为 JSON 对象(以及相应的 javascript 对象)也是 无序1maps 的键/值对。
改为使用 JSON 数组(例如映射到 List)来维护有序序列。
1 不幸的是,返回的数据(或可能显示的)按特定顺序排序,因为没有这样的保证。
另见:
C# 字典:Why is a Dictionary "not ordered"? JSON 对象:Is the order of elements in a JSON list maintained? JavaScript 对象:Does JavaScript Guarantee Object Property Order?【讨论】:
这可能不是巧合,但无论如何不能保证,所以你不应该假设它会按升序排序。以上是关于C# 字典到 json - 自动排序的主要内容,如果未能解决你的问题,请参考以下文章