2017-07-27 4 views
0

、私は(例えば、データがhttp://biocache.ala.org.au/ws/occurrences/search?q=Banksia%20Serrataある)にデバイスのディスプレイ上の印刷JSONのAPIデータ(アンドロイドスマートフォン)をしたいと思います。私は次の作品を使うべきだと思っていますが、それをどうやって正しく行うかはわかりません。誰かがすぐに私を助けることができますか?フェッチされたJSONデータをLuaに表示する方法は? Luaの</strong><strong>では(これを行うには、Luaの中の既存のPHPコードを記述すること)

local json = require("json") 
network.request(url,"POST",listener,postData) 

あなたがPHPを知っていれば、私の質問を理解することは容易であろう。私はAPIを介してデータをフェッチして印刷するために、次の簡単なPHPコードを用意しています。そして、私はルアで同じことをしたいと思います。

<?php 
$handle = fopen("http://biocache.ala.org.au/ws/occurrences/search?q=Banksia%20Serrata", "r"); 
$contents = stream_get_contents($handle); 
fclose($handle); 
$jsoncont = json_decode($contents); 
//print_r($jsoncont); 
print "<h2>Results"</h2>"; 
foreach($jsoncont->occurrences as $occ) { 
    print $occ->uuid."<br />"; 
} 
?> 

多くの感謝!

PS大きな違いがある場合は、POSTとGETの両方の例を示すことができれば非常に感謝しています。

+0

誰かが私に有効な質問ではありませんか?詳細を追加してください。あなたは何を知りたいですか? JSONデータを表示するとどういう意味ですか?それをコンソールに印刷するには? – Piglet

+0

申し訳ありませんが明示的ではない場合。はい、データ(テキスト)をディスプレイに印刷したいと思います。上記のPHPコードはそれを行います。データが長すぎて表示できない場合は、その一部を選択するのは簡単なので、表示されているテキストを見たいだけです。その後、私はその時点からさらに多くのことをすることができます。乾杯! – user7665853

答えて

0

私のような初心者にとっては簡単ではありませんでしたが、私は自分で問題を解決することができます!誰かがそれを使用するのに不思議と好きだったら、ここには謙虚なコードがあります。とにかくおかげで@ピグレット!

誰かが改善/簡略化できれば、大変感謝しています。

local json = require("json") 
local function networkListener(event) 
    local res = json.prettify(event.response) 
    local decoded = json.decode(res) 
    if (event.isError) then 
     print("--Network error-- ", (res)) 
    else 
     print("Response: " .. (res)) 
     local item1 = decoded.pageSize 
     local item2 = decoded.totalRecords 
     print(item1) 
     print(item2) 

     local myText = display.newText(item1, 30, 10, native.systemFont, 16) 
     myText:setFillColor(1, 1, 1) 
     local myText = display.newText(item2, 30, 40, native.systemFont, 16) 
     myText:setFillColor(1, 1, 1) 
    end 
end 

local headers = {} 
headers["Content-Type"] = "application/json" 
local body = "" 
local params = {} 
params.headers = headers 

params.body = body 
network.request("http://biocache.ala.org.au/ws/occurrences/search?q=Banksia%20Serrata", "GET", networkListener, params) 
関連する問題