如何在javascript中解析这个JSON对象?

时间:2015-06-18 12:35:13

标签: javascript jquery ajax json rest

在这里寻找一些关于如何提取Alok,Test和Test2的指导

对象{值:“{”演员“:[”Alok“,”测试“,”测试2“]}”}

我几乎花了一整天的时间来弄清楚解析这个JSON数组的方法,但最接近的是将所有字符打印在一行中。

我的javascript实现是:

        AJS.$.ajax({
            dataType: 'json',
            type: 'GET',
            url: AJS.params.baseURL+"/rest/leangearsrestresource/1.0/message/list/{actor}",
            async: false,
            multiple: true
        }).done(function(result) {
                    AJS.log(result);
                    //var obj = JSON.parse(result);
                    //AJS.log(obj.actors[1]);

            //AJS.log("Actor is " + result.length);
            var output = '';
            for(var key in result) {
                AJS.log("Key: " + key + " value: " + result[key]);
                var myThing = result[key];
                var output = myThing.property
                AJS.log(output)
               // AJS.log(output.text)
                for( thingKey in myThing ) {

                    AJS.log(myThing[thingKey])
                }

            }

同时附加控制台屏幕截图enter image description here

4 个答案:

答案 0 :(得分:1)

结果对象未完全解析它有一个包含字符串的属性值,因此您必须解析value属性的值,如下所示:JSON.parse(result.value),您将获得一个具有一个属性的对象“ actor“其值是一个带有字符串”Alok“,”Test“,”Test2“的数组。

答案 1 :(得分:1)

您正在获取一个json数据,该数据在解析时会生成一个对象,其中包含名为" value"和它的对值是另一个json字符串。

所以你必须得到那个字符串并再次解析它。

然后您可以将其作为JavaScript对象访问。

这是重写的done回调:

function( result ) {
    var json,
        obj,
        actors;

    json = result.value;
    obj = JSON.parse( json );
    actors = obj.actors;

    for( idx in actors ) {
        AJS.log( actors[ idx ] );
    }
}  

答案 2 :(得分:0)

for( thingKey in myThing.actors ) {

    AJS.log(myThing[thingKey])
}

您需要修改代码。因为索引是actorsactors是一个数组。所以你可以在for循环中迭代数组。

答案 3 :(得分:-1)

如果您确定自己拥有有效的JSON,请使用以下命令: jQuery.parseJSON(STR)