我正在使用和服来提取一些数据并创建一个 API:
{
"name": "site update",
"count": 4,
"frequency": "Manual Crawl",
"version": 1,
"newdata": true,
"lastrunstatus": "success",
"thisversionstatus": "success",
"thisversionrun": "Sun Feb 07 2016 05:13:26 GMT+0000 (UTC)",
"results": {
"collection1": [
{
"title": {
"href": "http://www.tvtrailers.com/scenes/view/id/9418/title-1/",
"text": "Title 1"
},
"pubDate": "February 6, 2016",
"index": 1,
"url": "http://www.tvtrailers.com/home/"
},
{
"title": {
"href": "http://www.tvtrailers.com/scenes/view/id/9422/title-2/",
"text": "Title 2"
},
"pubDate": "February 6, 2016",
"index": 2,
"url": "http://www.tvtrailers.com/home/"
},
{
"title": {
"href": "http://www.tvtrailers.com/scenes/view/id/9358/title-3/",
"text": "Title 3"
},
"pubDate": "February 5, 2016",
"index": 3,
"url": "http://www.tvtrailers.com/home/"
},
{
"title": {
"href": "http://www.tvtrailers.com/scenes/view/id/9419/title-4/",
"text": "Title 4"
},
"pubDate": "February 5, 2016",
"index": 4,
"url": "http://www.tvtrailers.com/home/"
}
]
}
}
我正在尝试获取 id内的值GET
,然后
获取 id 号(上面代码中的, , , )并仅使用 id 号创建一个新属性。href
title
element
explode
string
9418
9422
9358
9419
或者,如果无法创建新属性,那么我只想替换所有href
字符串并保留 id 号而不是完整的href
url。
这是我正在使用的代码: - 不工作
function getpost_number(data) {
var post_number = 0;
for(var href in data.results) {
data.results[href].forEach(function(row) {
var parts = row.split("/");
console.log(parts[5]+parts[6]);
});
};
data.post_number = post_number;
return data;
}
结果:
{
"error": "Bad Request",
"message": "Your function failed to evaluate because of Error: Object object has no method 'split'"
}
和服内的代码检查员也有两个警告:
第 7 行:不要在循环中创建函数。
第 8 行:不必要的分号
感谢您提供任何帮助和指导,以找出上面的代码有什么问题,谢谢。
附录 - 新尝试
这是function
我在以下评论中使用 Trincot 提供的代码的更新:
function addPostNumbers(data) {
for(var collection in data.results) {
data.results[collection].forEach(function(row) {
if (parts = row.title.href.match(/\/(\d+)\//)) {
row.title.post_number = parts[1];
}
});
}
}
输出:
{
"error": "Bad Request",
"message": "Your function failed to evaluate because of Error: parts is not defined"
}
和服检查员警告
第 5 行:条件表达式中的赋值。
第 8 行:不要在循环中创建函数。