1

JSONオブジェクトからISBNの文字列を作成して、Googleブックスで複数の本を検索したいと思います。

Googleブックスの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+")

identifier私があなたの小道具であると理解しているISBNのリストを作成することに関して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 に答える