在添加到observable集合之前解析JSON并删除多余的字符

时间:2013-05-12 10:30:23

标签: c# json windows-runtime json.net

我正在尝试从Web服务中获取JSON,我能够弄清楚。 BTW这是我的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个属性,我将尝试绑定到稍后使用CollectionViewSource在UI中进行平铺。

我能够将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之后,在将dict集合添加到observable集合之前,我想从Name Property中删除“/”之后的所有字符。

因此,如果是"X-YZ-112/AB.CDRTE.D",我希望姓名为"X-YZ-112"并删除"AB.CDRTE.D"。我的Json数据有21个这样的对象,所有对象的Name都有这个无关的数据。无论如何,我可以在将这些字符添加到我的可观察集合之前剥离这些字符吗?

1 个答案:

答案 0 :(得分:1)

如何创建新词典?

var newDict = dict.ToDictionary(kv => kv.Key.Split('/')[0], kv => kv.Value);

在解析你的json时你也可以做同样的事情。

p => p.Name.Split('/')[0],