我需要检查json文件中是否存在密钥名,但我不知道如何做到这一点。
Json文件:
{
"value": [
{
"from": 1430611201000,
"to": 1430697600000,
"ref": "2015-05-03",
"value": "8.4",
"quality": "Y"
}
],
"updated": 1430726400000,
"parameter": {
"key": "2",
"name": "Lufttemperatur",
"summary": "medelvärde 1 dygn, 1 gång/dygn, kl 00",
"unit": "degree celsius"
},我认为这是我得到的最接近的,但它总是错误的(即使我搜索一个现有的键):内容是一个JObject。
var searchDate = content.Properties().Select(p => p.Value).Children().Any(p=>p.Contains("quality"));编辑:为了澄清这个问题,我把关键的名字改成了“质量”。我还将使用另一个包含键"date“而不是"from”和"to“的json文件。要分离我想知道的文件是“日期”是否存在。
发布于 2015-05-05 08:20:20
如果要检查的属性始终属于value属性中的某个项,则可以这样做:
var isQualityExists =
content["value"].Any(v => ((JObject)v).Properties()
.Any(p => p.Name.Contains("quality"))
);否则,您可能希望创建一个函数,该函数可以递归地检查整个JObject中是否存在特定的属性名。
发布于 2015-05-05 08:00:13
json中不存在日期。这就是为什么在评论中提到的错误。如果要搜索键:“to”
if("to" in json_object)
{
//your logic goes here
}https://stackoverflow.com/questions/30046745
复制相似问题