gpt4 book ai didi

php - 如何使用 PHP 删除 JSON 中的方括号

转载 作者:行者123 更新时间:2023-12-03 22:54:40 25 4
gpt4 key购买 nike

下面的代码是返回的 JSON

[{"one":"id","two":"id","three":"id"},{"one":"id","two":"id","three":"id"}]

下面的代码是返回 JSON 的期望结果(没有数组括号)
{"one":"id","two":"id","three":"id"},{"one":"id","two":"id","three":"id"}

下面的代码是将数组转换为JSON格式
include('connect-db.php'); 
$result = mysql_query("SELECT * FROM patientvaccinedetail");
$specific = [];
while($row = mysql_fetch_array( $result ,MYSQL_ASSOC)) {
echo "<tr>";
echo '<td width="100px">' . $row['id'] . '</td>';
echo '<td width="200px">' . $row['patientid'] . '</td>';
echo '<td width="200px">' . $row['vaccineid'] . '</td>';
//**********Convert the array into json*******************

$specific[] = ["one" => $row["id"],
"two" => $row["patientid"],
"three" => $row["vaccineid"]];

$result = json_encode($specific,JSON_UNESCAPED_UNICODE);

echo $result;
echo "</tr>";
echo "</table>";
?>

要将请求发送到 API,我使用 Guzzle
API 要求的格式为 {xx:xx},{xx:xx}
没有方括号,不知道如何使用 PHP 删除它。
提前致谢
     $client = new Client([
'headers' => ['Content-Type' => 'application/json',
'Token' => $token]
]);

$response = $client->post('http://localhost:91/Religious',
['body' => ***Where the json will be place***]
);

最佳答案

我在 deceze ♦ 的第一篇文章的评论中读到了一个很好的解决方案与 trim() .

$yourJson = trim($yourJson, '[]');

您还可以使用正则表达式:

// if nothing is found, your json has already no brackets or is invalid.
if (preg_match('/^\[(.+)\]$/', $yourJson, $new))
{
/**
* $new[0] = $yourJson
* $new[1] = what's in the parenthesis
*/
$yourJson = $new[1];
}

或者,您可以使用 substr() :

$yourJson = substr($yourJson, 1, strlen($yourJson) - 2);

编辑:
当它以请求正文格式表示时: application/json ,我认为您不必删除括号。你甚至尝试过吗?

关于php - 如何使用 PHP 删除 JSON 中的方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45499879/

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