通过类和对象解析Json文件[c#]

  • 本文关键字:文件 Json 对象 c# json.net
  • 更新时间 :
  • 英文 :


我已经看了关于JSON和c#的所有问题,但我没有找到任何解决方案…我目前正在学习c#和对象/类语句,但我没有真正抓住如何使所有的东西一起工作…我没有真正抓住例如,当做一个覆盖,当声明一个方法私有而不是公共,当声明一个接口,当一个类…然而,我决定做一些例子……也许我能更好地理解这些东西是如何工作的……

在这种情况下(例如),我想通过类声明加载JSON,并为每个JSON对象创建一个对象(以下面这个例子,我发现周围的堆栈为例)!


这是我的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
    }
}
  1. 所以我想加载json,并翻译所有的json_object(如:"1","2")在C#_object派生自"汽车"我该怎么做呢?

  2. 有一种动态的方法,允许我创建n对象的数量没有声明它一个一个(就像在这种情况下:我有2 json对象,是否有某种方法检测多少json对象是在json文件和正确的距离动态对象的数量)?

  3. 一旦我正确设置了c#对象,我如何管理它?(例如,我想打印所有对象(具有所有属性),更改声明的属性之一(制造商,型号,年份…)的值或从文件

    中删除其中的一个值)。

所以我想加载json,并翻译所有的json_object(如:"1","2")在c# _object派生自" car "我该怎么做呢?

下面的代码将Json反序列化成一个字典:

var cars = JsonConvert.DeserializeObject<Dictionary<string, Cars>>(carsJson);

一旦我正确设置了c#对象,我如何管理它?(例如,我想打印所有对象(具有所有属性),更改声明的属性之一(制造商,型号,年份…)的值或从文件

中删除其中的一个值)。

您可以添加、删除或更改字典中的值,然后将其序列化回文件:

cars["1"].Year = "2020";
cars["1"].LicensePlate = "GAB293C";
cars.Remove("2");
    
var newJson = JsonConvert.SerializeObject(cars);

输出:

{
  "1": {
    "Manufacturer": "Fiat",
    "Model": "500",
    "Year": "2020",
    "LicensePlate": "GAB293C",
    "KM": 120000,
    "Financing": true,
    "Doors": 5,
    "Cost": 6000
  }
}

相关内容

  • 没有找到相关文章

最新更新