【问题标题】:json serializaing list of objects cause having Object notation for each tuplejson序列化对象列表导致每个元组都有对象表示法
【发布时间】:2016-01-12 16:30:58
【问题描述】:

我需要一个这种格式的json:

var projects = [
        { Title: 'Dave Jones', city: 'Phoenix' },
        { Title: 'Jamie Riley', city: 'Atlanta' },
        { Title: 'Heedy Wahlin', city: 'Chandler' },
        { Title: 'Thomas Winter', city: 'Seattle' }
    ];

在 web 方法中,我以这种方式序列化对象列表:

[WebMethod]
    public string GetUserProfileProjects()
    {
        List<Test> data = new List<Test>() {
            new Test{ Title= "Dave Jones", City= "Phoenix" },
            new Test{ Title= "Jamie Riley", City = "Atlanta" },
            new Test{ Title= "Heedy Wahlin", City= "Chandler" },
            new Test{ Title= "Thomas Winter", City= "Seattle" }
        };
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        return serializer.Serialize(data);
    }

    public class Test
    {
        public string Title { get; set; }
        public string City { get; set; }
    }

但是 ajax 调用中的 json 结果是这种格式:

为什么每个项目都与一个对象挂钩?

【问题讨论】:

  • 您不使用 Newtonsoft.Json 的任何原因?
  • 没有理由!你的意思是 Newtonsoft.Json 解决问题?
  • 不会,但 Newtonsoft.Json (Json.NET) 更快

标签: asp.net json ajax serialization


【解决方案1】:

您可能希望序列化 IEnumerable&lt;Dictionary&lt;string,string&gt;&gt; 以获得所需的结果。

Test 是一个对象,因此,每个条目都与该特定对象挂钩。

只要您继续使用List&lt;Test&gt;,您的 JSON 结果将是相同的。

【讨论】:

  • 那我该如何处理呢?
  • @AsmaGheisari 起初想,我不认为你可以让你的收藏像那样格式化.. 也许有 JSON 专家可以提供帮助,但我相信我在技术上回答了你的问题,哈哈跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-20
  • 1970-01-01
  • 2016-12-22
  • 1970-01-01
相关资源
最近更新 更多