格式化json内容输出

时间:2016-01-18 22:15:57

标签: php arrays json ussd

我正在开发一个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);

?>

3 个答案:

答案 0 :(得分:0)

尝试converting your new line characters to <br> HTML elements,因为您用来解析和显示JSON的任何内容显然不符合\n个新行:

$displaystring = nl2br($displaystring);

答案 1 :(得分:0)

$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&#39; \ n \ t $ variable&#34 ;; //将输出不变的\n\t $variable

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

答案 2 :(得分:0)

我假设您正在显示&#34; HTML&#34;对于用户和您希望显示的格式是HTML格式,然后\ n不会导致新行...使用&#34; <br/>"

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