Web サイト用に安らかな Web サービスを構築しようとしています。次のコードを使用した php mysql クエリがあります。
function mysql_fetch_rowsarr($result, $taskId, $num, $count){
$got = array();
if(mysql_num_rows($result) == 0)
return $got;
mysql_data_seek($result, 0);
while ($row = mysql_fetch_assoc($result)) {
$got[]=$row;
}
print_r($row)
print_r(json_encode($result));
return $got;
上記のコードで print_r($data) を使用して次を返します
Array ( [0] => Array ( [show] => Blip TV Photoshop Users TV [region] => UK [url] => http://blip.tv/photoshop-user-tv/rss [resourceType] => RSS / Atom feed [plugin] => Blip TV ) [1] => Array ( [show] => TV Highlights [region] => UK [url] => http://feeds.bbc.co.uk/iplayer/highlights/tv [resourceType] => RSS / Atom feed [plugin] => iPlayer (UK) ) )
返されるjsonは次のとおりです。
[{"show":"Blip TV Photoshop Users TV","region":"UK","url":"http:\/\/blip.tv\/photoshop-user-tv\/rss","resourceType":"RSS \/ Atom feed","plugin":"Blip TV"},{"show":"TV Highlights","region":"UK","url":"http:\/\/feeds.bbc.co.uk\/iplayer\/highlights\/tv","resourceType":"RSS \/ Atom feed","plugin":"iPlayer (UK)"}]
次のコードを使用していくつかの項目を配列に追加し、それを json に変換して json を返します。
$got=array(array("resource"=>$taskId,"requestedSize"=>$num,"totalSize"=>$count,"items"),$got);
次のコードを使用して json に変換し、それを返します。
$response->body = json_encode($result);
return $response;
これにより、次のjsonが得られます。
[{"resource":"video","requestedSize":2,"totalSize":61,"0":"items"},[{"show":"Blip TV Photoshop Users TV","region":"UK","url":"http:\/\/blip.tv\/photoshop-user-tv\/rss","resourceType":"RSS \/ Atom feed","plugin":"Blip TV"},{"show":"TV Highlights","region":"UK","url":"http:\/\/feeds.bbc.co.uk\/iplayer\/highlights\/tv","resourceType":"RSS \/ Atom feed","plugin":"iPlayer (UK)"}]]
API のコンシューマーは、次の形式の json を必要としていますが、この方法で取得する方法がわかりません。私は見つけることができるすべてを検索して試しましたが、まだ取得できません。そして、私はxmlフォーマットを取得しようとさえしていません
{"resource":"video", "returnedSize":2, "totalSize":60,"items":[{"show":"Blip TV Photoshop Users TV","region":"UK","url":"http://blip.tv/photoshop-user-tv/rss","resourceType":"RSS / Atom feed","plugin":"Blip TV"},{"show":"TV Highlights","region":"UK", "url":"http://feeds.bbc.co.uk/iplayer/highlights/tv","resourceType":"RSS / Atom feed","plugin":"iPlayer (UK)"}]}
これに関するすべての助けに感謝します。読み取り専用アクセスでデータベースのコピーをセットアップし、役立つすべてのソースコードを提供できます。私はちょうど今PHPを学んでいることを警告します.基本的なfortran 77でプログラミングすることを学んだので、PHPはかなり面倒です.かなり肥大化していると思います。
OK 上記の json エンコーディングについては回答済みです。API コンシューマーは、特殊文字 "/" も URL であるためエスケープしないことを望んでいます。json_encode で「 JSON_UNESCAPED_SLASHES 」を試したところ、次のエラーが発生しました。
json_encode() expects parameter 2 to be long