json文件从c#代码中读取

时间:2016-05-17 10:38:43

标签: c# json

这是我的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;

1 个答案:

答案 0 :(得分:0)

你需要再次看看你的Json。

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

a1Sets

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

You Json文件必须看起来像这样才能满足您的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; } } 收集要求

UseCase

在反序列化时会有以下类...

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