1

我想从 JSON 对象创建一串 ISBN,以在 Google 图书中搜索多本图书。

我可以通过使用以下路径解析 Google Books 的 JSON 来获取 ISBN:

volumeInfo.industryIdentifiers[0].identifier

(这里我这样做是为了得到一个简单的书单:jsfiddle.net/LyNfX

如何将每个值串在一起以获得此查询结构,其中每个 ISBN 前面都有“isbn:”,在第一个 ISBN 之后用“OR”分隔

https://www.google.com/search?btnG=Search+Books&tbm=bks&q=Springfield+isbn:1416549838+OR+isbn:068482535X+OR+isbn:0805093079+OR+isbn:0306810328
4

2 回答 2

3

从一个名为的 ISBN 字符串数组开始list

list.map(function(v){return "isbn:"+v;}).join("+OR+")

至于建立您的 ISBN 列表,我认为这是identifier您的支柱industryIdentifiers(如果industryIdentifier是真正的Array):

var list = [];
volumeInfo.industryIdentifiers.forEach(function(e,i){list.push(e.identifier);});

您也可以一举构建最终的字符串而不构建数组,但这意味着需要额外的逻辑来防止插入额外+OR+的分隔符(作为分隔符)

var output = "";
volumeInfo.industryIdentifiers.forEach(function(e,i){output += "isbn:"+e.identifier+"+OR+";});
output.slice(0,-4); // clear out last +OR+
于 2013-02-04T15:26:28.547 回答
1
var arrayOfISBNs = [123,456,789...];
var result = "isbn:" + arrayOfISBNs.join(" OR isbn:")

只需使用数组连接。

于 2013-02-04T15:28:02.770 回答