【发布时间】:2016-12-31 19:52:51
【问题描述】:
我有一个平面文件系统(具有固定长度的字段定义 - 我无法更改这个遗留系统),其中序列顺序对于写入平面文件很重要。我正在尝试根据 JObject 中的序列值获取 JObject。我有以下 JSON 对象:
{
APPOINTMENT_ID: {
value: '',
seqPos: 1,
dbSize: 2,
dbType: 'C',
xpath: 'DataSet0'
},
NAME: {
value: '',
seqPos: 2,
dbSize: 30,
dbType: 'C',
xpath: 'DataSet1'
},
DATE: {
value: '',
seqPos: 3,
dbSize: 10,
dbType: 'M',
xpath: 'DataSet2'
}
}
目前我正在遍历索引和 JSON 以进行匹配,然后设置 JOBject。
JObject joOuter = null;
for (int i = 1; i <= joNode.Count; i++)
{
foreach (var jT in joNode)
{
if (i == jT.Value["seqPos"].Value<int>())
{
joOuter = jT.Value.Value<JObject>();
break;
}
}
// Do Work on the JObect
joOuter["value"] = "doProcess";
}
我想在 1 个循环而不是当前的嵌套代码中执行此操作,而不更改整个 JSON 并将键重新设置为序列位置。
【问题讨论】:
标签: c# json json.net .net-core