第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 JsonPath 從 JSON 數(shù)組中選擇項(xiàng)目,其中項(xiàng)目不包含某個屬性

使用 JsonPath 從 JSON 數(shù)組中選擇項(xiàng)目,其中項(xiàng)目不包含某個屬性

C#
慕碼人8056858 2021-06-29 13:01:19
我有一個類似于此的 JSON 文件結(jié)構(gòu):{    "property1": 1,    "property2": 2,    "someArray": [        {            "item1": 1,            "item2": 2        },        {            "item1": 5        }    ]}我想要做的就是從不包含item2屬性的數(shù)組中選擇對象。我正在使用NewtonsoftJson并嘗試使用 JSON 路徑來做這件事。我設(shè)法選擇了包含item2屬性的對象,但我不知道反轉(zhuǎn)邏輯的語法。// Selects all the tokens where item2 property exists.var tokens = jsonToken.SelectTokens("$.someArray[?(@.item2)]");我嘗試!在過濾器部分使用這樣的: $.someArray[?(!@.item2),但它拋出一個錯誤,說這!是意外的字符。我應(yīng)該怎么做才能在這里反轉(zhuǎn)選擇邏輯?
查看完整描述

2 回答

?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個贊

想出了這個方法。希望能幫助到你。工作示例

static string jonsString = (@"{

        'property1': 1,

        'property2': 2,

        'someArray': [

            {

                'item1': 1,

                'item2': 2

            },

            {

                'item1': 5,

                'item2': 2

            }

        ]

    }");


 var tokens = JObject.Parse(jonsString)["someArray"].ToObject<List<Dictionary<string, string>>>().Where(p=>!p.Keys.Contains("item2"));


        foreach (var token in tokens)

        {

           foreach(var item in token)

            {

                Console.WriteLine(item.Key +":"+ item.Value);

            }

        }

        Console.ReadLine();

輸出:


item1:5


查看完整回答
反對 回復(fù) 2021-07-03
  • 2 回答
  • 0 關(guān)注
  • 502 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號