Formattazione dell'output cURL nel terminale di Windows


2

Quando provo a eseguire la richiesta cURL qui , Windows 7 (x64) restituisce un output senza interruzioni di riga:

C:\Users\kiwi>curl http://www.documentcloud.org/api/search.json?q=group:nytimes

{"total":2821,"page":1,"per_page":10,"q":"group:nytimes","documents":[{"id":"862
75-isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo","title":"ISN 10015 - Abd al Rahim
 al Nashiri - JTF-GTMO Detainee Assessment","access":"public","pages":15,"descri
ption":null,"source":null,"created_at":"Sun, 24 Apr 2011 15:50:19 +0000","update
d_at":"Mon, 25 Apr 2011 17:11:41 +0000","canonical_url":"http://www.documentclou
d.org/documents/86275-isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo.html","resource
s":{"pdf":"http://s3.documentcloud.org/documents/86275/isn-10015-abd-al-rahim-al
-nashiri-jtf-gtmo.pdf","text":"http://s3.documentcloud.org/documents/86275/isn-1
0015-abd-al-rahim-al-nashiri-jtf-gtmo.txt","thumbnail":"http://s3.documentcloud.
org/documents/86275/pages/isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo-p1-thumbnai
l.gif","search":"http://www.documentcloud.org/documents/86275/search.json?q={que
ry}","page":{"text":"http://www.documentcloud.org/documents/86275/pages/isn-1001
5-abd-al-rahim-al-nashiri-jtf-gtmo-p{page}.txt","image":"http://s3.documentcloud
.org/documents/86275/pages/isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo-p{page}-{s
ize}.gif"}}},{"id":"86274-isn-10020-majid-khan-jtf-gtmo-detainee-assessment","ti
tle":"ISN 10020 - Majid Khan - JTF-GTMO Detainee Assessment","access":"public","
pages":12,"description":null,"source":null,"created_at":"Sun, 24 Apr 2011 15:50:
18 +0000","updated_at":"Mon, 25 Apr 2011 17:10:01 +0000","canonical_url":"http:/
/www.documentcloud.org/documents/86274-isn-10020-majid-khan-jtf-gtmo-detainee-as
sessment.html","resources":{"pdf":"http://s3.documentcloud.org/documents/86274/i
sn-10020-majid-khan-jtf-gtmo-detainee-assessment.pdf" ...

Questo potrebbe essere il comportamento predefinito, ma c'è qualcosa che posso fare per ottenere un output JSON leggibile quando utilizzo cURL su Windows?

Risposte:


1

Non esattamente, ma ecco uno script Python che migliora su questo.

import urllib2
import simplejson
import pprint

URL = "http://www.documentcloud.org/api/search.json?q=group:nytimes"

def showfeed(argv):
    argv[1] if len(argv) > 1 else URL
    fo = urllib2.urlopen(URL)
    obj = simplejson.loads(fo.read())
    pprint.pprint(obj)

if __name__ == "__main__":
    import sys
    showfeed(sys.argv)

Lo terrò sicuramente a mente. Probabilmente è possibile rielaborarlo per formattare l'output JSON da cURL all'interno del terminale, ma è molto probabilmente al di fuori delle mie capacità attuali. Vedrò ciò che altri utenti potrebbero sapere. Tuttavia, anche al di fuori dell'ambito della domanda, in quanto qualcuno che concentra la sua programmazione su Python, questo è molto prezioso.
Kiwi,

Il terminale non ti aiuterà. È necessario un programma per formattarlo. Non credo nemmeno che il ricciolo formatta. Su una piattaforma posix questo di solito sarebbe fatto con strumenti in una pipeline.
Keith,

0

Dai un'occhiata a HTTPie, è come cURL ma molto più amichevole per l'uomo, il che significa che formatterà la risposta json di conseguenza e simili:

http://httpie.org/


0

È una vecchia domanda ma voglio rispondere nel semplice contesto di Total.

  1. Installa Node.Js (Opzionale) - Se non hai Node js, scarica la versione LTS di Node JS (puoi anche installare l'ultima se vuoi)
  2. Dopo l'installazione (o se hai già installato js del nodo, solo per il tipo di conferma node -ve npm -v.
  3. Entrambi dovrebbero restituire i numeri di versione corretti, come mostrato di seguito

Istantanea dei numeri di versione del nodo js e Npm

  1. Una volta terminata la conferma dell'installazione, vai avanti e installa il flag versione globale (usando -g) di jsontool lib sul nodo. npm install -g jsontool

installazione jpm tool npm

  1. Una volta che si è fatto con l'installazione nel passaggio precedente, allora è sufficiente utilizzare il tubo | json nell'ultima riga della richiesta di arricciatura.
  2. Uscita senza tubo json senza tubo json
  3. Uscita con tubo json uscita piuttosto con json pipe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.