从JSON对象读取数据时获取未定义

时间:2017-04-21 09:34:37

标签: javascript jquery jstree

以下是我的代码:

$(function() {

    var arrayCollection = ['555testing', {
        "id" : "1",
        "parent" : "555testing",
        "text" : "555 Inc.",
  "org" : "One",
    }, {
        "id" : "2",
        "parent" : "555testing",
        "text" : "Test Company",
  "org" : "Two",
    }, {
        "id" : "3",
        "parent" : "555 Inc.",
        "text" : "Test2 Company",
  "org" : "Three",
    }, {
        "id" : "4",
        "parent" : "555 Inc.",
        "text" : "Test3 Company",
  "org" : "Four",
    }, {
        "id" : "5",
        "parent" : "555 Inc.",
        "text" : "Test4 Company",
  "org" : "Five",
    }];
    //alert(arrayCollection);

    $('#jstrees').jstree({

        'core' : {

            'data' : arrayCollection
        }
    }).on("select_node.jstree", function(e, data) {

        var node_text2 = (data.node.org);
        alert(node_text2);
    });
});

我想从json对象获取所有值。但是当我试图获得org的值时,我会得到undefined

对于所有其他属性的工作方式, 我在这段代码中获得了价值。

var node_text2 = (data.node.parent);
alert(data.node["parent"]); 

但我没有org

让我知道,我如何获得这个价值。

3 个答案:

答案 0 :(得分:2)

你的JSON中有一个拼写错误的“text”:“Test”和“orgId”:“2”只应该有一个逗号

{ "id" : "155", "parent" : "MyData", "text" : "Test", , "orgId":"2"} 
//                                                    ^

应该是

{ "id" : "155", "parent" : "MyData", "text" : "Test", "orgId":"2"}
//                                                   ^

答案 1 :(得分:1)

"orgId":"2"

之前检查json还有一个逗号

下次检查你的json时,有很多在线工具非常有用,如:

https://jsonformatter.curiousconcept.com/

还有一些不可打印的特殊unicode字符,请检查服务器端代码以防止输出这些字符:

enter image description here

答案 2 :(得分:-1)

你错了json

[{"parent":"#","id":"1","text":"One","orgId":66},{"parent":"‌​Data2","id":"2","tex‌​t":"Two","orgId":64}‌​]

最好先从您收到回复的地方检查服务或位置。还尝试使用任何在线工具,如json格式化程序或在线json编辑器等。