在这里寻找一些关于如何提取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])
}
}
同时附加控制台屏幕截图
答案 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])
}
您需要修改代码。因为索引是actors
。 actors
是一个数组。所以你可以在for
循环中迭代数组。
答案 3 :(得分:-1)
如果您确定自己拥有有效的JSON,请使用以下命令: jQuery.parseJSON(STR)