为什么如果我检查这个数组是否是一个JSON文档可以';使用JavaScript不行吗?

为什么如果我检查这个数组是否是一个JSON文档可以';使用JavaScript不行吗?,javascript,json,Javascript,Json,我正在检查JSON对象是否包含特定属性 我有这个JSON文档: { "market_name": "Dakar", "market_description": "Tambacounda Market N1", "localization_id": 2, "long": 13.776796, "lat": -13.672198, "country": "Senegal", "regione": { "@nil": "true"

我正在检查JSON对象是否包含特定属性

我有这个JSON文档:

{
    "market_name": "Dakar",
    "market_description": "Tambacounda Market N1",
    "localization_id": 2,
    "long": 13.776796,
    "lat": -13.672198,
    "country": "Senegal",
    "regione": {
        "@nil": "true"
    },
    "province": {
        "@nil": "true"
    },
    "city": {
        "@nil": "true"
    },
    "district": {
        "@nil": "true"
    },
    "town": {
        "@nil": "true"
    },
    "village": {
        "@nil": "true"
    },
    "commoditiesList": {
        "commodity": [{
            "commodity_details_id": 8,
            "commodity_name_en": "Carrot",
            "commodity_name": "Carrot",
            "description": "Carrot",
            "image_link": "https://firebasestorage.googleapis.com/v0/b/fao-digital-services-portfolio.appspot.com/o/img%2Ficons%2Fagrimarket%2Fcommodity%2Fcarrot.png?alt=media&token=f295c6b3-abf8-4b51-97c9-582d9188675f",
            "market_commodity_details_id": 26,
            "price_series_id": 9,
            "last_price_date": "2017-12-18+01:00",
            "last_avg_price": 48.37,
            "currency": "XOF",
            "measure_unit": "kilogram"
        },
        {
            "commodity_details_id": 4,
            "commodity_name_en": "Red onion",
            "commodity_name": "Red onion",
            "description": "Red onion",
            "image_link": "https://firebasestorage.googleapis.com/v0/b/fao-digital-services-portfolio.appspot.com/o/img%2Ficons%2Fagrimarket%2Fcommodity%2Fonion-red.png?alt=media&token=4ec9de4e-6e5a-4198-9bcd-21b692760618",
            "market_commodity_details_id": 24,
            "price_series_id": 11,
            "last_price_date": "2017-12-18+01:00",
            "last_avg_price": 33.33,
            "currency": "XOF",
            "measure_unit": "kilogram"
        },
        {
            "commodity_details_id": 6,
            "commodity_name_en": "Green Beans",
            "commodity_name": "Green Beans",
            "description": "Green Beans",
            "image_link": "https://firebasestorage.googleapis.com/v0/b/fao-digital-services-portfolio.appspot.com/o/img%2Ficons%2Fagrimarket%2Fcommodity%2Fgreen_beens.png?alt=media&token=5022f2c8-5751-4dd3-b695-2518e9586943",
            "market_commodity_details_id": 25,
            "price_series_id": 17,
            "last_price_date": "2017-12-18+01:00",
            "last_avg_price": 778,
            "currency": "XOF",
            "measure_unit": "kilogram"
        }]
    }
}
我想检查在这个JSON文档中,
commodity
数组是否存在于
commodityList
对象中

如果我尝试使用此表达式:

response.hasOwnProperty('commoditiesList.commodity')
它返回false,我不明白为什么

商品列表
包装器对象上测试:

 response.hasOwnProperty('commoditiesList') 
它很好用

我缺少什么?

您只能使用
hasOwnProperty
检查一级属性

const obj={
a:{
b:5
}
};

console.log(obj.hasOwnProperty('a.b'))
response.commoditiesList.hasOwnProperty('commodity')//将返回true
hasOwnProperty
顾名思义,将检查它拥有的属性。属于子数组/对象的任何属性都不是它自己的属性。这是孩子们的财产。