Javascript JSon解析不起作用
我正试图解析来自flixter API的JSON数据,以便将其导入我的博客。 在下面的示例中,我尝试使用JavaScript输出电影《敢死队》的演员信息 我的全部目标是让它输出信息 西尔维斯特·史泰龙饰演巴尼·罗斯,杰森·斯塔森饰演李·圣诞节等等 这是我的名片Javascript JSon解析不起作用,javascript,json,parsing,Javascript,Json,Parsing,我正试图解析来自flixter API的JSON数据,以便将其导入我的博客。 在下面的示例中,我尝试使用JavaScript输出电影《敢死队》的演员信息 我的全部目标是让它输出信息 西尔维斯特·史泰龙饰演巴尼·罗斯,杰森·斯塔森饰演李·圣诞节等等 这是我的名片 您遇到的问题是字符串文字中的行尾。你可以这样写: var jsontext = '{\ "cast": [{\ 但在您的情况下,还不清楚您是否真的需要JSON,因为您可以直接将对象创建为JSON var titles = {
您遇到的问题是字符串文字中的行尾。你可以这样写:
var jsontext = '{\
"cast": [{\
但在您的情况下,还不清楚您是否真的需要JSON,因为您可以直接将对象创建为JSON
var titles = {
cast": [{
...
我想说的是,您遇到的第一个问题是JSON.parsing,dystroy完美地回答了这个问题,在解决这个问题之后,您将不得不处理呈现,您可以这样做:
您不需要更改flixster api返回给您的内容 问题是您需要直接调用API。。。不要复制并粘贴结果 看看这里的用法
在本例中,只需执行Ajax调用和onSuccess searchCallback,您就可以用json解析数据。如果您从textarea的值或Ajax响应接收到字符串,则只需调用json.parse。否则,您可以利用JSON只是普通JavaScript对象这一事实Notation@dystroy感谢您的快速响应,但是如果我理解正确,我必须编辑从api serviceflixter获取的json数据?如果没有,你可以编辑jsFiddl,这样我就可以看到它在运行了吗?@Craig否,当你从服务器收到JSON时,行尾没有任何问题。您之所以会遇到这个问题,是因为您在脚本中使用了JavaScript字符串文字。谢谢,在我匆忙中,我没有看到这个。谢谢您的示例,非常感谢!
var titles = {
cast": [{
...
var titles = {
"cast": [{
"id": "162664630", "name": "Sylvester Stallone", "characters": ["Barney Ross"]
}, {"id": "162653720", "name": "Jason Statham", "characters": ["Lee Christmas"]
}, {"id": "162652223", "name": "Jet Li", "characters": ["Yin Yang"]
}, {"id": "162664307", "name": "Dolph Lundgren", "characters": ["Gunnar Jensen"]
}, {"id": "162670654", "name": "Chuck Norris", "characters": ["Booker"]
}, {"id": "326392465", "name": "Terry Crews", "characters": ["Hale Caesar"]
}, {"id": "770731413", "name": "Randy Couture", "characters": ["Toll Road"]
}, {"id": "770833479", "name": "Liam Hemsworth", "characters": ["Billy the Kid"]
}, {"id": "770704326", "name": "Scott Adkins", "characters": ["Hector"]
}, {"id": "770670020", "name": "Nan Yu", "characters": ["Maggie"]
}, {"id": "162670708", "name": "Jean-Claude Van Damme", "characters": ["Jean Vilain"]
}, {"id": "162652509", "name": "Bruce Willis", "characters": ["Mr. Church"]
}, {"id": "162662233", "name": "Arnold Schwarzenegger", "characters": ["Trench"]
}, {"id": "489251774", "name": "Amanda Ooms", "characters": ["Pilar"]
}, {"id": "377608335", "name": "Charisma Carpenter", "characters": ["Lacy"]
}, {"id": "771417014", "name": "Nikolette Noel", "characters": ["Sophia"]
}],
"links": {
"rel": "http://api.rottentomatoes.com/api/public/v1.0/movies/771238417.json"
}
},
star,
staring = [];
for (star = 0; star < titles.cast.length; star++) {
staring.push(titles.cast[star].name + ' as ' + titles.cast[star].characters[0]);
}
document.getElementById('Credits').innerHTML = staring.join(', ');