CGI是一種在Web服務(wù)器和Web應(yīng)用程序之間進行交互的技術(shù)。當(dāng)Web應(yīng)用程序需要從Web服務(wù)器接收數(shù)據(jù)或向客戶端發(fā)送數(shù)據(jù)時,它可以使用 CGI(公共網(wǎng)關(guān)接口) 來實現(xiàn)。其中一種常見的數(shù)據(jù)格式是JSON(JavaScript對象表示法),它經(jīng)常用于Web應(yīng)用程序中的數(shù)據(jù)傳輸。
CGI程序可以使用多種編程語言編寫,例如Perl、Python、Ruby、PHP等。下面是一個使用Perl編寫的CGI程序,用于輸出JSON數(shù)據(jù)。
#!/usr/bin/perl use warnings; use strict; use CGI; use JSON; my $cgi = CGI->new; my $data = { name =>'John', age =>28, city =>'New York' }; my $json = encode_json($data); print $cgi->header('application/json'); print $json;
首先,我們導(dǎo)入了必要的模塊:CGI和JSON。然后,創(chuàng)建了一個哈希變量 $data,它包含了我們要輸出的 JSON 數(shù)據(jù)。
接著,我們使用 Perl 模塊 JSON 中的函數(shù) encode_json 來將哈希變量編碼成 JSON 格式的字符串。最后,使用 CGI 模塊中的 header 函數(shù)輸出 HTTP 響應(yīng)頭,并將 JSON 字符串輸出到客戶端。
當(dāng)我們在瀏覽器中運行該CGI程序時,將會看到以下輸出:
Content-Type: application/json {"city":"New York","name":"John","age":28}
可以看到,我們成功地將一個哈希變量轉(zhuǎn)換成了 JSON 格式的字符串,并將其輸出到了客戶端。