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

Popular posts from this blog

c++ - Linked List error when inserting for the last time -

java - activate/deactivate sonar maven plugin by profile? -

java - What is the difference between String. and String.this. ? -