从数据库中获取数据并通过DataTables显示时遇到问题。我发现我的大部分数据都有单引号和双引号以及其他特殊字符。我尝试了PHP中的所有转义函数,但都不起作用。addslashes只检索40,000个数据中的59个数据。到目前为止,我有了以下代码:
PHP:
$query = mysqli_query($new_conn, "SELECT * FROM bill_of_materials");
$table = '';
while($row = mysqli_fetch_array($query)) {
$table.= '{
"allotment_code":"'.$row['allotment_code'].'",
"activity":"'.$row['activity'].'",
"category_name":"'.addslashes($row['category_name']).'",
"description":"'.addslashes($row['description']).'"
},';
}
$table = substr($table,0, strlen($table) - 1);
echo '{"data":['.$table.']}';
**jQuery data tables:**
$(function() {
$('#dataTables-example').DataTable( {
"bLengthChange": false,
"pageLength": 50,
"bDeferRender": true,
"bProcessing": true,
"sPaginationType": "full_numbers",
"ajax": base_url('ajax/ajaxGetBOM.php'),
"columns":[
{mData: "allotment_code"},
{mData: "activity"},
{mData: "category_name"},
{mData: "description"}
],
contentType: 'application/json',
dataType: 'json'
});
})
function base_url(path) {
var url = 'https://192.168.3.254/'+path;
return url;
}
使用json_encode()
函数使用JSON格式对响应进行正确编码。
$query = mysqli_query($new_conn, "SELECT * FROM bill_of_materials");
$data = array();
while($row = mysqli_fetch_array($query)) {
$data[] = array(
"allotment_code" => $row["allotment_code"],
"activity" => $row["activity"],
"category_name" => $row["category_name"],
"description" => $row["description"]
);
}
header("Content-type: application/json");
echo json_encode(array("data" => $data));
问题内容: 我正在使用向服务器发出请求,并且服务器正在返回JSON对象(如{ “var”: “value”, … })。但是,如果任何一个值都包含一个单引号(正确转义为'),则jQuery无法解析其他有效的JSON字符串。这是我的意思的示例(在Chrome的控制台中完成): 这正常吗?没有办法通过JSON正确传递单引号吗? 问题答案: 根据JSON网站上的状态机图,仅允许转义的双引号字符,不允许单
问题内容: 样例代码: 它适用于 PHP 5.5.3, 但对于较低版本的PHP则失败 它可以在我的装有PHP 5.5.3的计算机上使用,但是在其他地方都无法使用。 我知道这是错误的JSON,但我的网络服务向我提供了带有符号的JSON 和 沙盒 如何在PHP 5.3中使用撇号解析JSON数据? 显然,我要解析的原始JSON更复杂。 (我无法在生产服务器上升级PHP,也无法从Web服务获取正确的JSO
我试图通过curl与新闻提供网站进行api集成。我能够检索数据,但它不是json格式,所以很难在我的门户网站上显示该数据。 下面是我使用的代码。 请找个人帮忙 curl.php 下面是我得到的结果,如果我回显从上述代码收到的响应 {“状态”:“好的”,“总计结果”: 36,“文章”:[{“来源”:{“id”: null,“名称”:“Tmz.com”},“作者”:“TMZ工作人员”,“标题”:“90
问题内容: 我正在尝试从YouTube API解析json响应数据,但我一直收到错误消息。 这是令人窒息的片段: ..发生这种情况: 我已经确认它是有效的json,并且无法控制其格式,因此如何克服此错误? 问题答案: 您需要在“”“之前添加一个,或全部替换为。从其他地方读取json时,您不必担心这件事,而是字符串本身中的事。 看到这里获取更多信息
问题内容: 我通过按下按钮来调用此函数… Firebug显示我得到了这个JSON响应(我知道这是有效的)[为清楚起见,被截断了] Firebug显示错误“无效标签 https://test.com/incident.do?JSON&callback=jsonp1279049933243&sysparm_action=getRecords 第1行 我怎样才能解决这个问题?谢谢! 问题答案: 您的响应
问题内容: 我所拥有的文件,每行1个JSON文件和领域和每个文件内。我想使用jq提取这些并将它们打印在同一行上。 到目前为止,我有: 这可行,但是我需要删除双引号。 为了改善我的jq-foo,有没有办法在 不使用sed的情况下 做到这一点? 例如给 得到 代替 问题答案: 默认情况下,将其输出格式化为有效的JSON值。这意味着字符串用引号引起来。 幸运的是,or 参数会覆盖该行为,因此您的字符串输