AppleScript: Definir resultado do script como variável

5

Eu gostaria de obter o resultado desta pesquisa e exibir o resultado em uma notificação ou pop-up de safári.

"Definir resultado para fazer shell script" curl https://www.binlist.net/json/ "& cc sem alterar os finais de linha" só tem como resultado o mesmo valor da consulta principal

-- Web site https://www.binlist.net
-- Get https://www.binlist.net/json/431940
set cc to the clipboard
set finalresult to do shell script "curl https://www.binlist.net/json/" & cc without altering line endings
set the clipboard to finalresult

display notification "result is " & finalresult

O resultado não será exibido como uma notificação, por enquanto, ele é definido apenas como área de transferência. Além disso, o resultado é realmente cru. Posso limpar isso de alguma forma?

{\"bin\":\"431940\",\"brand\":\"VISA\",\"sub_brand\":\"\",\"country_code\":\"IE\",\"country_name\":\"Ireland\",\"bank\":\"BANK OF IRELAND\",\"card_type\":\"DEBIT\",\"card_category\":\"\",\"latitude\":\"53\",\"longitude\":\"-8\",\"query_time\":\"1.370709ms\"}""

Obrigado.

Kevin
fonte
Dado seu exemplo JSON, o que você gostaria de ver exibido?
Graham Miln
Acabei de rodar o seu código com a configuração 431940na área de transferência e o final resultconjunto de volta para a área de transferência era exatamente o que eu vejo se estivesse olhando para o binlist.net/json/431940 no Safari. Portanto, não tenho certeza qual é o seu problema com a formatação de outros, os resultados exibidos no Editor de Roteiros, por exemplo, set the clipboard to "{\"bin\":\"431940\...as barras invertidas mostram que não há na área de transferência. Você está dizendo que eles são?
user3439894
Aqui está o meu resultado, eu queria saber se eu posso manter "Visa" e "Irlanda" e exibir em uma notificação: {"bin": "431940", "marca": "VISA", "sub_brand": "", " country_code ":" IE "," country_name ":" Irlanda "," banco ":" BANK OF IRELAND "," card_type ":" DÉBIT "," card_category ":" "," latitude ":" 53 "," longitude ":" - 8 "," query_time ":" 651.384µs "}
Kevin
Desculpe, mas não está claro, para mim de qualquer maneira, o que você está perguntando no último comentário.
user3439894

Respostas:

4

Você quer a marca e o country_name dos JSONdados, você pode usar um analisador JSON.

Aqui está um exemplo de análise JSONempython

-- Get https://www.binlist.net/json/431940
set cc to the clipboard as string
set finalresult to do shell script "curl https://www.binlist.net/json/" & cc & "  |  /usr/bin/python -c 'import json, sys; obj=json.load(sys.stdin); print obj[\"brand\"],obj[\"country_name\"]' "
display notification "Result is " & finalresult --> "Result is VISA Ireland"
jackjr300
fonte