我正试图从web服务中获取JSON,这是我能够弄清楚的。这是我的JSON数据
{
"X-YZ-111/AB.CD": {
"P1": "F",
"P2": "43.46"
},
"X-YZ-112/AB.CDRTE.D": {
"P1": "F",
"P2": "8.02"
}
}
现在我可以尝试将其解析为一个集合,其中每个项目都有"X-YZ-111/AB"。CD"作为名称属性和P1和P2作为其他2个属性,我将尝试绑定到一个Tile在UI使用CollectionViewSource稍后。
我能够解析JSON到我的类,像这样-
var jObj = JObject.Parse(result);
var dict = jObj.Children()
.Cast<JProperty>()
.ToDictionary(p => p.Name,
p => new Tuple<string, string>((string)p.Value["P1"], (string)p.Value["P2"]));
但是在解析JSON之后,在将字典集合添加到可观察集合之前,我想从名称属性中去掉"/"之后的所有字符。
如果是"X-YZ-112/AB.CDRTE.D"
,我希望Name为"X-YZ-112"
并去掉"AB.CDRTE.D"
。我的Json数据有21个这样的对象,所有对象的名称都有这种外部数据。无论如何,我可以剥离这些字符添加到我的可观察的集合之前?
创建一个新字典怎么样?
var newDict = dict.ToDictionary(kv => kv.Key.Split('/')[0], kv => kv.Value);
你也可以在解析json时做同样的事情。
p => p.Name.Split('/')[0],