gpt4 book ai didi

php - 尝试使用 mysql 中的数组在 PHP 中以某种方式格式化 json

转载 作者:行者123 更新时间:2023-11-29 03:43:29 25 4
gpt4 key购买 nike

我正在尝试为我的网站构建一个 Restful 网络服务。我有一个使用以下代码的 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,我学会了用 basic,fortran 77 编程,所以 php 非常困惑我猜很臃肿。

OK 上面关于json编码的问题回答完毕。 API 使用者还希望特殊字符“/”不被转义,因为它是一个 URL。我在 json_encode 中尝试了“JSON_UNESCAPED_SLASHES”并收到以下错误。

 json_encode() expects parameter 2 to be long

最佳答案

你的 $result 行应该是这样的

$result=array(
"resource"=>$taskId,
"requestedSize"=>$num,
"totalSize"=>$count,
"items" => $got
);

关于php - 尝试使用 mysql 中的数组在 PHP 中以某种方式格式化 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10115536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com