【问题标题】:Is List<string> guaranteed to be in correct order when serialized to JSON?序列化为 JSON 时,List<string> 是否保证顺序正确?
【发布时间】:2016-01-12 00:47:09
【问题描述】:

是否存在序列化的 JSON 数组与最初序列化的 .NET List 的顺序不同的情况?

【问题讨论】:

  • 如果是,您使用的是 ASP.NET,那么是哪个版本?向我们展示将您的对象序列化为 json 的代码。在我的项目中,一旦序列化为 json,列表中的项目总是以相同的顺序出现。从来没有遇到过任何问题。
  • 是的,它是 ASP.NET 4.5,List 列表作为匿名对象返回,例如 new { list },供 JS 在客户端处理
  • 完全取决于您使用的 JSON 库。所以在不知情的情况下,答案是“也许”。
  • 如果我在 .NET 中对动态对象使用默认序列化程序会怎样?我没有指定序列化程序,只是传递了一个动态对象。
  • 你所说的“动态对象”是什么意思,你的意思是这个msdn.microsoft.com/en-us/library/… ??无论如何,如果您的控制器像这样返回 json:return Json(object)。那么是的,您的项目将始终按顺序排列。

标签: javascript c# arrays json list


【解决方案1】:

假设您使用的是 JSON.NET 和默认 JSON 序列化器设置,您的列表将按照此处找到的 JSONConvert.SerializeObject() 方法代码的相同顺序序列化为 JavaScript 字符串数组。

https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/JsonConvert.cs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 2017-05-21
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    相关资源
    最近更新 更多