首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查嵌套json中的密钥名

检查嵌套json中的密钥名
EN

Stack Overflow用户
提问于 2015-05-05 07:31:01
回答 2查看 1.9K关注 0票数 3

我需要检查json文件中是否存在密钥名,但我不知道如何做到这一点。

Json文件:

代码语言:javascript
复制
{
  "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。

代码语言:javascript
复制
var searchDate = content.Properties().Select(p => p.Value).Children().Any(p=>p.Contains("quality"));

编辑:为了澄清这个问题,我把关键的名字改成了“质量”。我还将使用另一个包含键"date“而不是"from”和"to“的json文件。要分离我想知道的文件是“日期”是否存在。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-05 08:20:20

如果要检查的属性始终属于value属性中的某个项,则可以这样做:

代码语言:javascript
复制
var isQualityExists = 
            content["value"].Any(v => ((JObject)v).Properties()
                                                  .Any(p => p.Name.Contains("quality"))
                                );

否则,您可能希望创建一个函数,该函数可以递归地检查整个JObject中是否存在特定的属性名。

票数 4
EN

Stack Overflow用户

发布于 2015-05-05 08:00:13

json中不存在日期。这就是为什么在评论中提到的错误。如果要搜索键:“to”

代码语言:javascript
复制
if("to" in json_object) 
{
//your logic goes here
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30046745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档