我正在尝试使用新的系统文本Json库从json数组读取单个对象。 我的json看起来像这样:
select emp_id, max(emp_log_id) as emp_log_id, timestamp
from table1
group by emp_id, timestamp
这只是一个例子。一个Json Object实际上大约有12个属性。但是,假设c#中有一个类,如下所示:
select
worker employeeID,
transdate,
max(case when emplchangetype = 3 then employee_details end) department,
max(case when emplchangetype = 8 then employee_details end) status,
max(case when emplchangetype = 5 then employee_details end) designation,
max(case when emplchangetype = 6 then employee_details end) manager
from employee
group by worker, transdate
,我只想获取ID匹配给定namen的软件包,我就这样尝试过:
[
{
"Id": "test1",
"Version": "16.0.461",
},
{
"Id": "test2",
"Version": "2.1.0",
}
]
是否可以将JsonElement转换为我的 Data 类的实例?
答案 0 :(得分:0)
使用类似这样的内容:
JsonElement current = document.RootElement;
if (objectName.Equals(current.GetProperty("Id")))
{
//But i'm using TryGetProperty
//This is example code for first element in JSON array
string id = current[0].GetProperty("id").GetString(); //test1
string version = current[0].GetProperty("Version").GetString(); //16.0.461
//And now you can create your Data object
Data data_object = new Data(id, version)
}
如果我对您的理解正确,这应该可以解决
UPD: 我不建议您使用标准库,因此请改用Json.NET,该库非常方便且运行更快(例如,我将反序列化速度提高到了约0.2秒link for more info)