使用php代码以漂亮的格式打印json

时间:2019-05-24 09:38:18

标签: php arrays json

我有如下数组。

 $resultArr = array();     
 $resultArr['status code'] = 200;
 $resultArr['result'] = "Success";

 $json = json_encode($resultArr,JSON_PRETTY_PRINT);
 return $json;

这给出如下结果

  "{\n    \"status code\": \"200\",\n    \"result\": \"Success\",\n}"

没有Pretty_print,结果如下所示

  "{\"status code\":\"200\",\"result\":\"Success\"}"

我希望这样的回应

{      “状态码”:200,      “结果”:“成功”     }

请问这样的事情可以完成吗,我使用的是PHP,上面提到了在邮递员中运行请求和响应

注意:我需要避免使用echo,因为我们在项目中使用了代码嗅探器,因此不建议使用echo。

3 个答案:

答案 0 :(得分:7)

您使用api-knotain | connecting mongo ...: mongodb://api-mongo:27017/notify api-knotain | Redis error: Error: Redis connection to api-redis:32770 failed - connect ECONNREFUSED 172.21.0.2:32770 api-knotain | mongo error:MongoNetworkError: failed to connect to server [api-mongo:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 172.21.0.3:27017] api-knotain | Example app listening on port 7777! 来美化输出目的,

JSON_PRETTY_PRINT

如果要将其用作响应,请删除该参数,

$json = json_encode($resultArr,JSON_PRETTY_PRINT);

以上行应该起作用。

答案 1 :(得分:2)

首先,删除JSON_PRETTY_PRINT标志。

第二,您的问题在于反斜杠(\)。这些是转义字符。我不知道您如何打印json或如何查看它。

如果我这样做:

echo $json;

它输出:

{"status code":200,"result":"Success"}

可能由于您正在执行AJAX请求而添加了反斜杠。为了解决这个问题,您可以使用jQueries .parseJSON()或将dataType: "json"添加到您的ajax请求中。

如果您真的不希望添加反斜杠:

$json = json_encode($resultArr, JSON_UNESCAPED_SLASHES);

更新

使用以下标头可能有助于输出:

header('Content-Type: application/json');

答案 2 :(得分:0)

1。可以使用API​​的API输出:

header('Content-Type: application/json');

2。使用JSON_PRETTY_PRINT

$json = json_encode($resultArr,JSON_PRETTY_PRINT);

3。您想在Chrome中显示

https://addons.mozilla.org/en-US/firefox/addon/json-handle/?src=recommended
相关问题