Yanıt biçimleri
Tek bir arama kaynağı, yanıtın altı farklı yazılışı. Seçimi
format= ile yapın; JSON varsayılandır ve diğer biçimler ona
göre tanımlanır.
format | Content-Type | Yapı |
|---|---|---|
json | application/json | Tek bir nesne; sonuçlar bir dizide. |
ndjson | application/x-ndjson | Satır başına bir JSON nesnesi. İlk satır meta verilerdir ve "object":"meta" ile işaretlenir. |
xml | application/xml | Aynı belge XML olarak; satırlar <result> öğeleri halinde. |
csv | text/csv | Noktalı virgülle ayrılmış, başlık satırı yok. |
tsv | text/tab-separated-values | CSV gibi, ancak sekmeyle ayrılmış. |
txt | text/plain | Satır başına bir URL. |
jsonl da ndjson için başka bir ad olarak kabul edilir.
Hangisi ne zaman
Belleğe sığan her şey için json. Sığmayan her şey için ndjson: sonunu beklemeniz gereken kapsayıcı bir dizi yoktur, meta veriler satırlardan önce gelir ve okuyucu, geri kalanı gelmeye devam ederken ilk sonuç üzerinde çalışmaya başlayabilir. Elektronik tablolar, kabuk komut zincirleri ve bir betiği ayrıştırıcısını değiştirmeden eski dışa aktarma URL'lerinden taşımak için csv, tsv ve txt.
ndjson
{"object":"meta","query":"\"angular.min.js\"","page":1,"per_page":2,"total":278,"total_pages":139,"returned":2,"truncated":false,"took_ms":2}
{"domain":"imgbox.com","url":"https://imgbox.com/","rank":4187,"ranked":true}
{"domain":"angularjs.org","url":"https://angularjs.org/","rank":12376,"ranked":true}
Sütunları seçme
json ve xml tüm alanları döndürür. Düz biçimler ise
varsayılan olarak alışılmış alanları verir; böylece eski dışa aktarma
URL'lerinden gelen bir betiğin ayrıştırıcısını değiştirmesi gerekmez:
| İstek | Çıktı |
|---|---|
format=csv | imgbox.com;4187 |
format=csv&columns=url,rank | https://imgbox.com/;4187 |
format=csv&columns=domain | imgbox.com |
format=txt | https://imgbox.com/ |
format=csv&snippets=1 | imgbox.com;4187;the matching text |
format=csv&header=1 | önce bir domain;rank satırı |
format=csv&delimiter=, | imgbox.com,4187 |
columns tüm biçimlerde çalışır; dolayısıyla format=json
ile birlikte columns=domain verildiğinde yalnızca bu alanı
içeren nesneler döner.
Düz biçimlerin ayrıntıları
- Bir değer yalnızca aksi halde satırı bozacaksa, yani ayırıcıyı, tırnak işaretini ya da satır sonunu içeriyorsa tırnak içine alınır. Sıradan
domain;rankçıktısı tırnaksızdır. - Tırnak içindeki bir değerde geçen tırnaklar, CSV'nin beklediği gibi ikilenir.
- Kod parçacıkları bir liste olduğundan
...ile birleştirilerek tek hücreye yazılır. - Sırası olmayan bir sitenin sıra hücresi boştur;
nullburada böyle ifade edilir. - Toplamlar bir satıra sığmaz; bu yüzden
X-Total-Results,X-Returned-ResultsveX-Truncatedbaşlıklarında yer alır. Bu başlıklar her biçimde gönderilir.
Bunlar yeni API'nin kendi serileştirmeleridir, eski dışa aktarmaların yeniden yayımı değildir. Yapı bilerek tanıdık tutulmuştur, ancak bayt bayt aynı çıktıyı yalnızca eski URL'ler garanti eder.
Biçimler ve hatalar
csv, tsv ve txt yalnızca satırlar için
tasarlanmış yapılardır; bu yüzden bunlardan birini /v1/account
için istemek 400 format_not_available hatası verir. Hataların
kendisi JSON olarak döner; XML istendiyse XML olarak.