json 객체 안에 키가 있는지 확인하십시오.
amt: "10.00"
email: "sam@gmail.com"
merchant_id: "sam"
mobileNo: "9874563210"
orderID: "123456"
passkey: "1234"
위는 내가 다루고있는 JSON 객체입니다. 'merchant_id'키가 있는지 확인하고 싶습니다. 아래 코드를 시도했지만 작동하지 않습니다. 그것을 달성 할 수있는 방법이 있습니까?
<script>
window.onload = function getApp()
{
var thisSession = JSON.parse('<?php echo json_encode($_POST); ?>');
//console.log(thisSession);
if (!("merchant_id" in thisSession)==0)
{
// do nothing.
}
else
{
alert("yeah");
}
}
</script>
이 시도,
if(thisSession.hasOwnProperty('merchant_id')){
}
JS 객체 thisSession
는
{
amt: "10.00",
email: "sam@gmail.com",
merchant_id: "sam",
mobileNo: "9874563210",
orderID: "123456",
passkey: "1234"
}
의도에 따라 여러 가지 방법이 있습니다.
thisSession.hasOwnProperty('merchant_id');
thisSession에 해당 키 자체가 있는지 여부를 알려줍니다 (즉, 다른 곳에서 상속 한 것이 아님).
"merchant_id" in thisSession
이 세션의 위치에 관계없이 thisSession에 키가 있는지 알려줍니다.
thisSession["merchant_id"]
키가 존재하지 않거나 어떤 이유로 든 값이 false로 평가되면 (예 : 리터럴 false
또는 정수 0 등) false를 반환합니다 .
(나는 파티에 늦어도 이것을 지적하고 싶었다.)
당신이 본질적으로 'Not IN'을 찾으려고했던 원래의 질문. 내가하고있는 연구 (아래 2 링크)에서 지원되지 않는 것 같습니다.
따라서 'Not In'을하고 싶다면 :
("merchant_id" in x)
true
("merchant_id_NotInObject" in x)
false
식 ==을 원하는 것으로 설정하는 것이 좋습니다.
if (("merchant_id" in thisSession)==false)
{
// do nothing.
}
else
{
alert("yeah");
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in http://www.w3schools.com/jsref/jsref_operators.asp
유형 검사도 작동합니다.
if(typeof Obj.property == "undefined"){
// Assign value to the property here
Obj.property = someValue;
}
if 문을 약간 변경하고 작동합니다 (상속 된 obj-스 니펫 참조)
if(!("merchant_id" in thisSession)) alert("yeah");
window.onload = function getApp() {
var sessionA = {
amt: "10.00",
email: "sam@gmail.com",
merchant_id: "sam",
mobileNo: "9874563210",
orderID: "123456",
passkey: "1234",
}
var sessionB = {
amt: "10.00",
email: "sam@gmail.com",
mobileNo: "9874563210",
orderID: "123456",
passkey: "1234",
}
var sessionCfromA = Object.create(sessionA); // inheritance
sessionCfromA.name = 'john';
if(!("merchant_id" in sessionA)) alert("merchant_id not in sessionA");
if(!("merchant_id" in sessionB)) alert("merchant_id not in sessionB");
if(!("merchant_id" in sessionCfromA)) alert("merchant_id not in sessionCfromA");
if("merchant_id" in sessionA) alert("merchant_id in sessionA");
if("merchant_id" in sessionB) alert("merchant_id in sessionB");
if("merchant_id" in sessionCfromA) alert("merchant_id in sessionCfromA");
}
정의되지 않은 개체와 null 개체를 확인하는 기능
function elementCheck(objarray, callback) {
var list_undefined = "";
async.forEachOf(objarray, function (item, key, next_key) {
console.log("item----->", item);
console.log("key----->", key);
if (item == undefined || item == '') {
list_undefined = list_undefined + "" + key + "!! ";
next_key(null);
} else {
next_key(null);
}
}, function (next_key) {
callback(list_undefined);
})
}
다음은 전송 된 객체에 정의되지 않았거나 null이 포함되어 있는지 확인하는 쉬운 방법입니다
var objarray={
"passenger_id":"59b64a2ad328b62e41f9050d",
"started_ride":"1",
"bus_id":"59b8f920e6f7b87b855393ca",
"route_id":"59b1333c36a6c342e132f5d5",
"start_location":"",
"stop_location":""
}
elementCheck(objarray,function(list){
console.log("list");
)
당신은 시도 할 수 있습니다 if(typeof object !== 'undefined')
참고 URL : https://stackoverflow.com/questions/20804163/check-if-a-key-exists-inside-a-json-object
'Programing' 카테고리의 다른 글
SQL Server에서 yes / no boolean 필드를 어떻게 작성합니까? (0) | 2020.03.17 |
---|---|
Docker에서 컨테이너와 이미지의 차이점은 무엇입니까? (0) | 2020.03.17 |
반응-제어되지 않은 입력 변경 (0) | 2020.03.17 |
문자열 구분 기호 (표준 C ++)를 사용하여 C ++에서 문자열 구문 분석 (분할) (0) | 2020.03.17 |
AWS EFS vs EBS vs S3 (차이 및 사용시기) (0) | 2020.03.17 |