javascript - Unable to get key defined -
suppose response {"errmsg":"error_bb"} or {"msg":"i bb"}.
var jsonparsed = json.parse(response);// ok, works var key = object.getownpropertynames(jsonparsed);// key can msg or errmsg, ok, works if("errmsg" == key) { throw ("error says:"+jsonparsed.key); //it cannot work if jsonparsed.errmsg, works } else { alert("data says:"+jsonparsed.key); //it cannot work if jsonparsed. msg, works } i alert:
the error says value undefined
why since key seems defined comparison condition can determined.
i not able throw or produce alert msg. however, if key replaced errmsg or msg shown in comments works.
well, jsonparsed doesn't have property key, it? either has errmsg or msg, said. it's not surprising jsonparsed.key undefined.
if want access property name contained in variable, have use bracket notation:
obj[prop] but there more: object.getownpropertynames returns array of property names. while "errmsg" == key might work because of implicit type coercion, want first element of array:
var key = object.getownpropertynames(jsonparsed)[0]; // first element if("errmsg" === key) { throw ("error says:"+jsonparsed[key]); } else { alert("data says:"+jsonparsed[key]); }
Comments
Post a Comment