【问题标题】:json file read from c# code [duplicate]从c#代码读取的json文件[重复]
【发布时间】:2016-05-17 10:38:43
【问题描述】:

这是我的 json 文件

{
  "UseCase1": {
    "UseCaseId": "Usecase1",
    "UseCaseDescription": "description1"

},
"UseCase2": {
    "UseCaseId": "Usecase2",
    "UseCaseDescription": "description2"

}

}

这是我的课

public class UseCase
    {
        public string UseCaseId { get; set;}
        public string UseCaseDescription { get; set;}
    }

如何将 json 元素分配给该类的列表(UseCase)

我尝试了下面的代码,但它不起作用

string Json = System.IO.File.ReadAllText(@"D:\ENERGY METER\ENERGY METER –IRP\SourceCode\EDMI.EnergyMeterPOC\EDMI.EnergyMeterPOC.Repository\DataSource\UseCaseData.json");
            JavaScriptSerializer ser = new JavaScriptSerializer();
            var personlist = ser.Deserialize<List<UseCase>>(Json);
            return personlist;

【问题讨论】:

标签: c# json


【解决方案1】:

您需要再次查看您的 Json。

当放入像JSON Utils 这样的工具中时,您最终会得到以下结果。

public class UseCase1
{
    public string UseCaseId { get; set; }
    public string UseCaseDescription { get; set; }
}

public class UseCase2
{
    public string UseCaseId { get; set; }
    public string UseCaseDescription { get; set; }
}

public class RootObject
{
    public UseCase1 UseCase1 { get; set; }
    public UseCase2 UseCase2 { get; set; }
}

为了让您的对象在列表中,它首先必须是您的文件不是的数组。

您的 Json 文件必须看起来像这样才能满足您的 UseCase 收集要求

{
  "UseCases": [
  {
    "UseCaseId": "Usecase1",
    "UseCaseDescription": "description1"
  },
  {
    "UseCaseId": "Usecase2",
    "UseCaseDescription": "description2"
  }]
}

反序列化时将具有以下类...

public class UseCase
{
    public string UseCaseId { get; set; }
    public string UseCaseDescription { get; set; }
}

public class RootObject
{
    public List<UseCase> UseCases { get; set; }
}

【讨论】:

    猜你喜欢
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    相关资源
    最近更新 更多