2

empUID が特定の ID と等しいノードを選択しようとしています。これが私のJSONスニペットです

{
    "dsShedule": {
        "ttEmployee": [
            {
                "empUID": 2649,
                "empNameFirst": "Firstname",
                "empNameLast": "lastName",
                "empFunction": "AFWERKER DRUKKERIJ",
                "ttShedule": [
                    {
                        "UID": 47,
                        "empUID": 2649,
                        "datStart": "2013-05-20",
                        "datStop": "2013-05-20",
                        "regime": 1,
                        "state": "PLANNED",
                        "ttSheduleDay": [
                            {
                                "SheduleUID": 47,
                                "dat": "2013-05-20",
                                "dateTimeStart": "2013-05-20T08:00:00.000",
                                "dateTimeStop": "2013-05-20T17:00:00.000",
                                "duration": 8
                            }
                        ]
                    },
                    {
                        "UID": 57,
                        "empUID": 2649,
                        "datStart": "2013-05-21",
                        "datStop": "2013-05-21",
                        "regime": 1,
                        "state": "PLANNED",
                        "ttSheduleDay": [
                            {
                                "SheduleUID": 57,
                                "dat": "2013-05-21",
                                "dateTimeStart": "2013-05-21T08:00:00.000",
                                "dateTimeStop": "2013-05-21T17:00:00.000",
                                "duration": 8
                            }
                        ]
                    }
                ]
            },

すべての従業員ノードを選択できますが、ID が 494323 などのノードを選択しようとすると、ノードが見つかりません。

関数

        JObject jObj = JObject.Parse(json);
        int firstUID = 494323;
        var linq = jObj["dsShedule"]["ttEmployee"].Select(x => new
                        {
                            empUID = x.SelectToken("empUID"),
                            empNameFirst = x.SelectToken("empNameFirst"),
                            empNameLast = x.SelectToken("empNameLast"),
                            ttShedule = x.SelectToken("ttShedule")
                        });
        var uid = linq.Where(x => x.empUID.Equals(firstUID));

私は VS2012 を使用しており、要素 linq をデバッグして empUID の値を探すと、値 {494323} が表示されます (なぜ大括弧なのか?)。

変数の画像の下:

ここに画像の説明を入力

uid が空であることがわかりますが、何が欠けていますか?

前もって感謝します

4

1 に答える 1