php - 如何使用换行符显示从 oracle 数据库中获取的 JSON 输出
问题描述
我有一个 HTML 页面,它有一个用户输入和一个按钮。单击按钮后,我们可以从 oracle 数据库中获取与该用户相关的其他数据。我已经在一个单独的 php 页面( index2.php )中定义了我的代码,如下所示:-
<?php
class logAgent
{
const CONFIG_FILENAME = "data_config.ini";
private $_dbConn;
private $_config;
function __construct()
{
$this->_loadConfig();
$this->_dbConn = oci_connect($this->_config['db_usrnm'],
$this->_config['db_pwd'],
$this->_config['hostnm_sid']);
}
private function _loadConfig()
{
// Loads config
$path = dirname(__FILE__) . '/' . self::CONFIG_FILENAME;
$this->_config = parse_ini_file($path) ;
}
public function fetchLogs() {
$userid =$_POST["userid"];
$sql = "SELECT REQUEST_TIME,WORKFLOW_NAME,EVENT_MESSAGE
FROM AUTH_LOGS WHERE USERID = '".$userid."'";
//Preparing an Oracle statement for execution
$statement = oci_parse($this->_dbConn, $sql);
//Executing statement
oci_execute($statement);
$json_array = array();
while (($row = oci_fetch_row($statement)) != false) {
$rows[] = $row;
$json_array[] = $row;
}
echo json_encode($json_array);
}
}
$logAgent = new logAgent();
$logAgent->fetchLogs();
?>
我正在使用异步发布方法执行此操作,我定义了一个 javascript 文件(script.js)
$(document).ready(function(){
$("#mybtn").click(function(e){
e.preventDefault();
var userid = $("#userid").val();
//$.post("index2.php", {"userid" : userid})
var posting = $.post( 'index2.php', {"userid" : userid});
posting.done(function( res ) {
var response = $.parseJSON(res);
$('#rawResponse').text(response);
});
});
})
我有一个用户的许多数据。输出显示如下:03-SEP-18,softOtpCheck,OTP 检查通过,03-SEP-18,createAuthenticatedSession,yoya session Created.,03-SEP-18,createAuthenticatedSession,yoya session Created.,03-SEP-18, oamAuth,OAM 上下文 cookie 收集。,03-SEP-18,softOtpCheck,OTP 检查通过,03-SEP-18,createAuthenticatedSession,yoya session Created.,03-SEP-18,createAuthenticatedSession,yoya session Created.,03-SEP- 18、oamAuth、OAM上下文cookie收集。
但我希望它为:
03-SEP-18,softOtpCheck,OTP检查通过,
03-SEP-18,createAuthenticatedSession,yoya 会话创建。,
03-SEP-18,createAuthenticatedSession,yoya 会话创建。,
03-SEP-18,oamAuth,OAM 上下文 cookie 收集。,
03-SEP-18,softOtpCheck,OTP检查通过,
03-SEP-18,createAuthenticatedSession,yoya 会话创建。,
03-SEP-18,createAuthenticatedSession,yoya 会话创建。,
03-SEP-18,oamAuth,OAM 上下文 cookie 收集。
如何在换行符中显示我的输出?
解决方案
如果要回显 json 数据,可以使用 JSON_PRETTY_PRINT 返回带有换行符的美化数据
echo json_encode($json_array, JSON_PRETTY_PRINT);
推荐阅读
- c# - 如何以管理员身份使用windows服务启动软件?
- html - 里面的引号
显示为“”或类似字符的元素
- visual-studio - 调试和构建 Web 成功但发布失败视觉 2019
- azure-log-analytics - T-SQL queries in Azure Log Analytics Workspaces?
- python - I'm trying to validate my Logistic regression model
- python - Filtering pandas dataframe based on attribute of object in a column
- html - 是否有可能使用 CSS-Grid 的 `gap` 属性,选择在某些列或行之间存在间隙——而不是在其他列之间?
- javascript - 如何打印由字母 X 构造的 X 并在 TypeScript 中使用下划线作为空格
- html - Sidenav 角度材料试图与其他组件并排
- python - 如何转换熊猫数据框中的所有熊猫时间戳时区