1

我在 WCF 服务中有两个类:

[DataContract]
public class item
{
    [DataMember]
    public string categoryid
    {
        get;
        set;
    }
    [DataMember]
    public string title
    {
        get;
        set;
    }
}
[DataContract]
public class Employee
{
    [DataMember]
    public string Id
    {
        get;
        set;
    }
    [DataMember]
    public string Name
    {
        get;
        set;
    }       
}

我正在使用 LINQ 从数据集中获取数据:

public List<Employee> GetCities()
{ 
    var em = ((from DataRow dr in ds.Tables["City"].Rows
        select new
        {
            Id = dr["intCityId"].ToString(),
            Name = dr["strTitle"].ToString()                          
        }).Select(x => new Employee() { Id = x.Id, Name = x.Name}).ToList());
}

现在我通过返回这个值来获取 JSON 数据。此外,我也从项目类中获得了值,但现在我想将列表数据转换为 JSON 格式,如下所示:

{"content":{"em" :[{ "id" : "1","Name" : "name"},{ "id" : "2","Name" : "name2"}],
"item":[{"category":"Sports","Title":"Football"},{"category":"Sports1","Title":"Football2"}]}}

意思是我想将这两个类结果合并为一个,但上述格式是干净的 JSON 格式

请帮忙...

4

2 回答 2

2

您还可以将匿名对象序列化为 JSON。

例子:

var cities  = GetCities();
var employees = GetEmployees();
return new JsonResult { Data = new { Content = new { Employees = employees, Cities = cities } } };
于 2012-07-19T12:53:32.263 回答
1

定义一个包含员工列表和项目列表的新对象内容。填充对象并通过 JSON 序列化程序对其进行序列化。

于 2012-07-19T12:50:57.067 回答