C# 是一門基于對象的編程語言,它支持對象嵌套 json 的處理。在 C# 中,json 是作為字符串處理的,因此需要使用 json 序列化庫來將對象序列化成 json 字符串,或者將 json 字符串反序列化成對象。
// 將對象序列化為 json 字符串 Person person = new Person { Name = "Tom", Age = 20, Job = new Job { Title = "Engineer", Salary = 5000 } }; string json = JsonConvert.SerializeObject(person); // "{\"Name\":\"Tom\",\"Age\":20,\"Job\":{\"Title\":\"Engineer\",\"Salary\":5000}}" // 將 json 字符串反序列化為對象 string json = "{\"Name\":\"Tom\",\"Age\":20,\"Job\":{\"Title\":\"Engineer\",\"Salary\":5000}}"; Person person = JsonConvert.DeserializeObject(json);
在上面的示例中,Person 類中包含一個 Job 類型的屬性,Job 類型又包含 Title 和 Salary 兩個屬性。當將 Person 對象序列化為 json 字符串時,Job 對象會嵌套在 Person 對象中,形成嵌套 json;而在將 json 字符串反序列化為對象時,Job 對象會被解析成一個 Job 類型的屬性,從而實現對象嵌套的轉換。
除了使用 json 序列化庫外,還可以使用匿名類型來創建嵌套 json 對象。匿名類型是一種臨時創建的類型,可以在編碼時定義類型的屬性和屬性值,非常方便。
// 創建嵌套 json 對象 var person = new { Name = "Tom", Age = 20, Job = new { Title = "Engineer", Salary = 5000 } }; string json = JsonConvert.SerializeObject(person); // "{\"Name\":\"Tom\",\"Age\":20,\"Job\":{\"Title\":\"Engineer\",\"Salary\":5000}}"
在上面的示例中,person 變量是一個匿名類型,其中包含 Name、Age 和 Job 三個屬性。Job 屬性又是一個匿名類型,包含 Title 和 Salary 兩個屬性。當將 person 變量序列化為 json 字符串時,就會形成一個嵌套的 json 對象。
在使用對象嵌套 json 時,需要注意 json 字符串的格式正確性,以便實現對象的正確轉換。
上一篇c語言json數據解析庫
下一篇c語言json數組