當前位置:編程學習大全網 - 源碼下載 - C#解析json數組,查詢是否有某個值得鍵。

C#解析json數組,查詢是否有某個值得鍵。

妳的json格式有點問題,應該是不完整且鍵名不能相同。

下面我寫了個相同的程序,希望能符合妳的要求,代碼如下:

public?class?KeysInfo?{

public?KeysInfo()?{?}

[JsonIgnore]

public?string?Test?{?get;?set;?}

public?MyKeys[]?mykeys{?get;?set;?}

}

public?class?MyKeys

{

public?string?key0{?get;?set;?}

public?string?key1?{?get;?set;?}

public?string?key2?{?get;?set;?}

public?string?key3?{?get;?set;?}

public?string?key4?{?get;?set;?}

public?string?key5?{?get;?set;?}

public?string?key6?{?get;?set;?}

public?string?key7?{?get;?set;?}

}

class?Program

{

static?void?Main(string[]?args)

{

string?myJson?=?"{\"Test\":\"2015\",\"MyKeys\":[{\"key0\":\"a\",\"key1\":\"b\",\"key2\":\"c\",\"key3\":\"d\"},{\"key4\":\"aa\",\"key5\":\"bb\",\"key6\":\"cc\",\"key7\":\"dd\"}]}";

//?反序列化json對象

KeysInfo?des?=?JsonConvert.DeserializeObject<KeysInfo>(myJson);

if?(IsExist(des,?"key4",?"aa"))?Console.WriteLine("存在.\n");

else?Console.WriteLine("不存在.\n");

Console.ReadKey(true);

}

public?static?bool?IsExist(KeysInfo?keyInfo,?string?keyName,?string?keyValue)

{

for?(int?i?=?0;?i?<?keyInfo.mykeys.Count();?i++)

{

//?反射KeysInfo類的屬性以及值

foreach?(System.Reflection.PropertyInfo?pi?in?keyInfo.mykeys[i].GetType().GetProperties())

{

if?(pi.Name?==?keyName?&&?(pi.GetValue(keyInfo.mykeys[i])!=null

&&pi.GetValue(keyInfo.mykeys[i]).ToString()?==?keyValue))

return?true;?//?給定的鍵名與值存在於json對象

}

}

return?false;?//?給定的鍵名與值不存在於json對象

}

}

  • 上一篇:淘寶如何開新店產生銷量?
  • 下一篇:知乎:復旦團隊大模型 moss 開源了,有哪些技術亮點值得關註?
  • copyright 2024編程學習大全網