1

私は2つのクラスを持っています:

class Employee
{
    string name;
    string age;
}

class Departments
{
    string branch;
    Employee A;
}

新しいリストを宣言します:

List<Departments> lstDp = new List<Departments>();

get/set および Employee をリストに追加した後 ... 部署のリストに従業員情報が含まれています。その後:

string json = JsonConvert.SerializeObject(lstDp, Newtonsoft.Json.Formatting.Indented);

ただし、出力 JSON 文字列には要素「branch」のみが含まれます。これの何が問題なのですか?次のような出力が必要です。

[
  {
    "branch": "NY",
    "Employee": {
        "name": "John Smith",
        "age": "29",
    }
  }
]
4

2 に答える 2

2

問題は、一部のクラス メンバーが非公開である可能性があります。テストしたばかり:

class Employee
{
    public string Name { get; set; }
    public string Age { get; set; }
}

class Departments
{
    public string Branch { get; set; }
    public Employee Employee { get; set; }
}

var lstDp = new List<Departments> {
            new Departments {
                Branch = "NY",
                Employee = new Employee { Age = "29", Name = "John Smith" }
            }
        };
var json = JsonConvert.SerializeObject(lstDp, Formatting.Indented);

正常に動作します。

于 2012-10-19T06:05:56.283 に答える
1

にはだけでなくDepartmentが含まれている必要がありますIEnumerable<Employee>Employee

于 2012-10-19T06:00:27.937 に答える