php json_encode 数组输出\错误

Posted

技术标签:

【中文标题】php json_encode 数组输出\\错误【英文标题】:Php json_encode Array output \ errorphp json_encode 数组输出\错误 【发布时间】:2016-06-09 13:26:21 【问题描述】:

您好,我有带有输出 json 编码的 php mysql pdo 数组,并在输出中给我\\\ 字符,我想delete 他们。

我的php代码

$stmt2 = $this->conn->prepare("SELECT ID,clientName FROM Clients WHERE userID='$userID' OR mainAccountID='$mainAccountID' ORDER BY ID DESC");
$stmt2->execute();
$result = $stmt2 -> fetchAll();

foreach( $result as $userRow2 ) 
  $private_list[] = '"name":"'.$userRow2['clientName'].'","ID":"'.$userRow2['ID'].'"';


echo json_encode($private_list);

并给出输出

["\"name\":\"zz\",\"ID\":\"312\"","\"name\":\"jv\",\"ID\":\"311\"","\"name\":\"fff2222\",\"ID\":\"309\"","\"name\":\"ffff\",\"ID\":\"308\"","\"name\":\"v\",\"ID\":\"288\"","\"name\":\"t\",\"ID\":\"286\"","\"name\":\"s\",\"ID\":\"285\"","\"name\":\"r\",\"ID\":\"284\"","\"name\":\"p\",\"ID\":\"283\"","\"name\":\"o\",\"ID\":\"282\"","\"name\":\"n\",\"ID\":\"281\"","\"name\":\"m\",\"ID\":\"280\"","\"name\":\"l\",\"ID\":\"279\"","\"name\":\"k\",\"ID\":\"278\"","\"name\":\"j\",\"ID\":\"277\"","\"name\":\"i\",\"ID\":\"276\"","\"name\":\"h\",\"ID\":\"275\"","\"name\":\"g\",\"ID\":\"274\"","\"name\":\"f\",\"ID\":\"273\"","\"name\":\"e\",\"ID\":\"272\"","\"name\":\"d\",\"ID\":\"271\"","\"name\":\"c\",\"ID\":\"270\"","\"name\":\"b\",\"ID\":\"269\"","\"name\":\"a\",\"ID\":\"268\""]

我想删除 \ 字符。

谢谢

【问题讨论】:

这实际上是一个有效的 javascript 字符串,因为,...等等什么? @PraveenKumar 我将为 swift 应用程序使用输出,并且在有时不取值会给出错误 \ 您不能对 JSON 数组进行 JSON 编码...大声笑。 @PraveenKumar 通常 json 输出有效但有 \ 字符并在 swift 上给出 你要么手工拼凑 JSON,要么 使用 json_encode 为你做这些; both 会导致垃圾。 【参考方案1】:

更改您的代码以包含一个表单。您正在混合 JavaScript 和 PHP。所以,这样做:

$private_list = array();
$private_list[] = array(
  "name" => $userRow2['clientName'],
  "ID" => $userRow2['ID']
);

【讨论】:

@SwiftDeveloper 享受! :) 你可以删除$private_list = array();愚蠢的声明!大声笑。

以上是关于php json_encode 数组输出\错误的主要内容,如果未能解决你的问题,请参考以下文章

php解决json_encode输出GB2312中文问题 (数组)

PHP json_encode($arr) 为啥会改变数组的顺序,怎么解决。在线等

PHP JSON字符串,为JS输出转义双引号

php json_encode() 输出乱码问题

php json_encode不同于js的输出JSON.stringify [复制]

php+jsJSON用法之将PHP数组转JS数组,JS如何接收PHP数组