1

WCF サービスには 2 つのクラスがあります。

[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 を使用して DataSet からデータを取得しています。

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"}]}}

つまり、これら2つのクラスの結果を1つにマージしたいのですが、上記の形式はクリーンな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 に答える