c# - 使用linq将Json对象获取到c#中的单个项目
问题描述
解决方案
好的,我用 Linq 让它工作了。作为参考粘贴下面的代码
var respnse1 = client.GetAsync(hostmi).Result;
string content1 = respnse1.Content.ReadAsStringAsync().Result;
JObject joResponse = JObject.Parse(content1);
JObject ojObject = (JObject)joResponse["usermachine"];
JArray array = (JArray)joResponse["pInterval"];
Json 字符串如下:
{
"usermachine": {
"employeeid": "1123",
"employeename": "EMP 001 NAME"
},
"pInterval": [
{
"pMachineID": "E0138",
"pmachinetoLocationSequence": 1
},
{
"pMachineID": "E0138",
"pmachinetoLocationSequence": 2
},
{
"pMachineID": "E0138",
"pmachinetoLocationSequence": 3
}
]
}
(我在格式化和粘贴方面尽了最大努力。希望它能坚持,还在学习!!)你会发现在主/从关系表中存在一个数组(pInterval)。现在获取主数据代码如下:
string employeeid = (string) ojObject.SelectToken("employeeid");
string employeename = (string) ojObject.SelectToken("employeename");
现在获取详细数据如下
var pmachinetoLocationSequence= (from p in arrayselect p["pmachinetoLocationSequence"]).ToList();
foreach (var item in pmachinetoLocationSequence)
{
Console.WriteLine(item.Value<string>().ToString());
}
有没有办法在上面的 var pmachinetoLocationSequence 行中获取多个字段?
推荐阅读
- android - 如何在 ViewModel Android 中存储分页数据?
- javascript - 如何使用 mongodb 在实体中定义位置
- linux-kernel - 当我在 Linux 内核中手动修改页表条目 (pte) 标志位时,为什么有时会恢复标志修改?
- angular - Angular 9:停用保护和会话超时
- python - 如何从列表调用中检索预设值
- azure - 为什么 AAD 颁发的访问令牌包含有关用户的信息?
- python - 按钮和标签不会在 Tkinter 中居中(Python 3.8)
- python - 从 Pandas 中的 url 下载 excel 文件(身份验证后)
- javascript - 直接设置图表高度
- django - 如何在pycharm中调试django自定义管理命令