这个json对我来说真的很奇怪,我无法访问其中的属性(StudentId
和CourseId
)。我不是那个设计它的人。
如何使用C#正确访问它们?
{
"Result": [
"Done",
{
"StudentId": 45,
"CourseId": 27
}
]
}
我也尝试检查json2csharp,但我得到了这个结果:
public class RootObject
{
public List<object> Result { get; set; }
}
答案 0 :(得分:0)
您可以将列表项定义为dynamic
:
public class RootObject
{
public List<dynamic> Result { get; set; }
}
然后直接访问所需的属性。但在这种情况下,你必须检查它们是否存在(例如使用try...catch
):
var json = @"{
""Result"": [
""Done"",
{
""StudentId"": 45,
""CourseId"": 27
}
]
}";
var rootObject = JsonConvert.DeserializeObject<RootObject>(json);
foreach (var res in rootObject.Result)
if (res is string)
Console.WriteLine(rootObject.Result[0]);
else
try
{
Console.WriteLine(res.StudentId);
}
catch
{
// Unexpected element type
}