[英]Parse Json file through Classes and object [C#]
我查看了有關 JSON 和 C# 的所有問題,但我沒有找到任何解決方案...我目前正在研究 C# 和對象/類聲明,但我並沒有真正了解如何使這些東西一起工作...我並沒有真正理解,例如,當進行覆蓋時,當聲明方法為私有而不是公共時,當聲明接口和類時......但是我決定舉一些例子......也許我可以理解事情是如何工作的好一點......
在這種情況下(例如)我想通過聲明的類加載一個 JSON,並為每個 JSON object 創建一個 object(以我在堆棧周圍找到的下面這個例子為例)!
這是我的 Class:
public class Cars
{
public string Manufacturer { get; set; }
public string Model { get; set; }
public string Year { get; set; }
public string LicensePlate { get; set; }
public int KM { get; set; }
public bool Financing { get; set; }
public int Doors { get; set; }
public int Cost { get; set; }
}
這是我的 JSON 示例文件:
{
"1":
{
"Manufacturer": "Fiat",
"Model": "500",
"Year": "2017",
"LicensePlate": "AZ978AG",
"KM": 120000,
"Financing" : true,
"Doors" : 5,
"Cost" : 6000
}
,
"2":
{
"Manufacturer": "BMW",
"Model": "Serie 1",
"Year": "2019",
"LicensePlate": "BC978AG",
"KM": 150000,
"Financing" : false,
"Doors" : 3,
"Cost" : 12000
}
}
所以我想加載 json,並將所有json_object
(如:“1”,“2”)翻譯成從“Cars”派生的C#_object
我該怎么做?
有一種動態方法允許我創建n個 object 而無需一個一個地聲明它(比如在這種情況下:我有 2 json object,是否有某種方法可以檢測一個對象中有多少個 json 對象? json 文件和正確距離對象的動態數量)?
一旦我正確設置了 ac#_object,我該如何管理它? (例如,我想打印所有 object(具有所有屬性),更改聲明的屬性之一的值(制造商,model,年份......)或從文件中刪除一次
所以我想加載 json,並將所有 json_object(如:“1”,“2”)翻譯成從“Cars”派生的 C#_object 我該怎么做?
此代碼將 Json 反序列化為字典:
var cars = JsonConvert.DeserializeObject<Dictionary<string, Cars>>(carsJson);
一旦我正確設置了 ac#_object,我該如何管理它? (例如,我想打印所有 object(具有所有屬性),更改聲明的屬性之一的值(制造商,model,年份......)或從文件中刪除一次
您可以添加、刪除或更改字典中的值,然后將其序列化回文件:
cars["1"].Year = "2020";
cars["1"].LicensePlate = "GAB293C";
cars.Remove("2");
var newJson = JsonConvert.SerializeObject(cars);
Output:
{
"1": {
"Manufacturer": "Fiat",
"Model": "500",
"Year": "2020",
"LicensePlate": "GAB293C",
"KM": 120000,
"Financing": true,
"Doors": 5,
"Cost": 6000
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.