格式化json内容输出[重复]

Posted

技术标签:

【中文标题】格式化json内容输出[重复]【英文标题】:Formatting json contents output [duplicate] 【发布时间】:2016-04-24 05:37:35 【问题描述】:

我正在开发一个ussd应用程序,我使用的api只接受以下格式的json响应


  "ispin": 1,
  "msisdn": "123456789",
  "partnerid": 10,
  "ShowInputBox": true,
  "displaystring": "content to be displayed"
  

我已经成功地处理了向用户显示消息但无法添加一些格式的 php 代码。我想包括换行符和超链接。任何人都可以识别此代码中的任何错误

<?php

$SESSION_ID = $_GET['SESSION_ID'];
$MSISDN = $_GET['MSISDN'];
$PartnerId = $_GET['PartnerId'];
$MNOID = $_GET['MNOID'];
$USSD_STRING = $_GET['USSD_STRING'];


$displaystring = 'Welcome to Polio Buddy. Please select.\n <a href="register.php">1 : Register Family</a>\n <a href="check.php">2: Check Vaccination Status</a>\n <a href="vaccinate.php">3: Vaccinate Child</a>';



$arr = array('ispin' => 0, 'msisdn' => $MSISDN, 'partnerid' => $PartnerId, 'ShowInputBox' => 'true', 'displaystring' => $displaystring);


echo json_encode($arr);

?>

【问题讨论】:

@barmar 您如何将其标记为重复?再看问题!我正在尝试换行 json 响应花花公子的最后一个参数 这就是“漂亮的打印”的意思——以很好的格式显示它。 【参考方案1】:

我假设您正在向用户显示“html”并且您希望显示的格式是 HTML,那么 \n 不会导致换行...使用“&lt;br/&gt;"”。

然后你的单引号和双引号也不重要。

【讨论】:

我正在向用户显示 json 那你为什么要依赖&lt;a href标签呢?【参考方案2】:

尝试converting your new line characters to &lt;br&gt; HTML elements,因为无论您使用什么来解析和显示 JSON,显然都不符合 \n 新行:

$displaystring = nl2br($displaystring);

【讨论】:

这不起作用。你试过运行我的整个脚本吗? @nick - 我明白了,您没有看到 \ns 在放入 JSON 后传播。调整后的答案。 @nick 请提供有关如何解析和显示 JSON 的更多详细信息。 @nick haha​​ - 您是否尝试格式化 JSON 本身?? 它只是打印出 ,就像使用 \n new lines 一样。它似乎不尊重 br 和 \n【参考方案3】:
$displaystring = "Welcome to Polio Buddy. Please select.\n <a href=\"register.php\">1 : Register Family</a>\n <a href=\"check.php\">2: Check Vaccination Status</a>\n <a href=\"vaccinate.php\">3: Vaccinate Child</a>";

PHP 可以解释带双引号的字符串,或者当你有单引号时保持原样。 我的自定义变量字符串 print '\n\t $variable"; // 将输出不变\n\t $variable

顺便说一句:只要有可能,最好使用单引号,因为如果要输出任何变量,PHP 不会浪费资源来解释。

【讨论】:

在没有解释的情况下向读者扔代码不是很有用。请确定核心问题,以及已采取哪些措施来解决它。 对于@iinspectable 没有评论,我深表歉意。

以上是关于格式化json内容输出[重复]的主要内容,如果未能解决你的问题,请参考以下文章

用shell格式化输出json内容

shell 输出json格式的内容

格式化输出 JSON

格式回显 json_encode [重复]

python日志输出的内容修改为json格式

php,我想把数据库内容做成json格式,数据有换行符,去掉换行符输出后检测还是会换行。