JSON 객체에 속성이 있는지 확인하는 방법과 속성 값이 0보다 큰지 확인하는 방법은 무엇입니까?

더러운 새 디자인

다음과 유사한 API에서 JSON을 반환했습니다.

{"amount_to_collect":0,"breakdown":{"city_tax_collectable":0,"city_tax_rate":0,"city_taxable_amount":0,"combined_tax_rate":0,"county_tax_collectable":0,"county_tax_rate":0,"county_taxable_amount":0,"line_items":[{"city_amount":0,"city_tax_rate":0,"city_taxable_amount":0,"combined_tax_rate":0,"county_amount":0,"county_tax_rate":0,"county_taxable_amount":0,"id":"1","special_district_amount":0,"special_district_taxable_amount":0,"special_tax_rate":0,"state_amount":0,"state_sales_tax_rate":0,"state_taxable_amount":0,"tax_collectable":0,"taxable_amount":0}],"special_district_tax_collectable":0,"special_district_taxable_amount":0,"special_tax_rate":0,"state_tax_collectable":0,"state_tax_rate":0,"state_taxable_amount":0,"tax_collectable":0,"taxable_amount":0}}

"amount_to_collect"가 있는지 확인하고 값이 0보다 큰지 확인해야합니다. IE 0.01이 더 커야합니다.

다음으로 존재하는지 확인할 수 있습니다.

if (data.hasOwnProperty("amount_to_collect"))

0보다 큰지 확인할 수 있습니다.

if(data.amount_to_collect == 0) {
    alert('zero');
} else if(data.amount_to_collect > 0) {
    alert('greater')
}

그러나 그것이 존재하는지 그리고 존재하는지 확인하는 방법이 0보다 큰 값인지 알 수 없습니다. 경우에 따라 반품되지 않을 수 있으며 이에 대한 케이스가 필요합니다.

로리 맥 크로 산

tax귀하의 코드에는 부울 결과 만 포함 hasOwnProperty()됩니다. 귀하의 예제에서 만 될 객체가 주어지면 true항상 '더 큰'출력을 볼 수 있습니다.

이 문제를 해결하려면 속성 자체의 값에서 속성이 존재하는지 확인한 결과가 포함 된 변수를 분리해야합니다. 이 시도:

let data = {
  "amount_to_collect": 0
  // other properties...
}

var propertyExists = data.hasOwnProperty("amount_to_collect");
if (propertyExists && data.amount_to_collect > 0) {
  console.log('greater');
} else {
  console.log('less');
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관