0

我正在尝试从 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 个属性,我将尝试将其绑定到 UI 中的 Tile稍后使用 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 之后,在将 dict 集合添加到 observable 集合之前,我想从名称属性中删除“/”之后的所有字符。

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

4

1 回答 1

1

创建一个新字典怎么样?

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

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

p => p.Name.Split('/')[0],
于 2013-05-12T10:36:49.770 回答