无法访问Object / Json

时间:2015-11-10 10:10:36

标签: javascript arrays json string object

我不确定这是什么,但我相信它是Json?
{"objekt_nr":"22133-01"}

我尝试将其转换为如下字符串:

function myFunction(objNr){
    objNr = objNr.objekt_nr;
    console.log(objNr);

这将导致undefined

如果我评论转换部分,我会得到:{"objekt_nr":"22133-01"}

如何在字符串中显示此Json / object / array,例如:22133-01

我也尝试过:objNr = objNr[0];objNr = objNr['objekt_nr']

2 个答案:

答案 0 :(得分:1)

代码运行正常。也许myFunction()的来电是错误的。

access of properties是:

  • 直接object.property
  • 使用字符串object['property']

var obj = { "objekt_nr": "22133-01" };

function myFunction(objNr) {
    objNr = objNr.objekt_nr; // i do not recommend the assignment to the former object!
    document.write(objNr);
}

myFunction(obj);

编辑:假设您有一个JSON字符串,例如'{"objekt_nr":"22133-01"}',那么您必须先使用JSON.parse解析它。结果是一个对象。

function myFunction(JSONstring) {
    var obj = JSON.parse(JSONstring);
    document.write(obj.objekt_nr);
}

myFunction('{"objekt_nr": "22133-01"}');

答案 1 :(得分:1)

你有一个代表一个对象的JSON字符串。你有一个实际的对象(还)。如果要访问属性,首先需要使用JSON.parse()

将其转换为对象
var objNr = JSON.parse(objNr); // create an object from your JSON

function myFunction(objNr) {
    objNr = objNr.objekt_nr;
    console.log(objNr);
}