php 美化json,[PHP]JSON数据美化

在写一个API接口的时候,使用 json 数据返给前端使用..PHP使用时json_encode函数

$arr = [

汉字 => 这是一段汉字,

en => this is en,

1 => 12345689,

arr => [

key => value,

],

];

echo json_encode($arr);

输出之后是这样的.

这种并不是标准的 JSON,因为你没告诉浏览器这是 JSON 数据,浏览器默认以 html 输出了.那么我们加上.

// 告诉浏览器我是 JSON

header(content-type:application/json;charset=utf-8);

$arr = [

汉字 => 这是一段汉字,

en => this is en,

1 => 12345689,

arr => [

key => value,

],

];

echo json_encode($arr);

中文汉字会被编码.也不是很好看.

在这里我们使用:JSON_UNESCAPED_UNICODE和JSON_PRETTY_PRINT

如:

// 告诉浏览器我是 JSON

header(content-type:application/json;charset=utf-8);

$arr = [

汉字 => 这是一段汉字,

en => this is en,

1 => 12345689,

arr => [

key => value,

// 在这我加一个网址

url=>https://blog.kieng.cn/,

],

];

echo json_encode($arr);

好看了吧?

但是又发现 /会被自动变为/,咋办呢?我们使用stripslashes删除反斜线函数

// 告诉浏览器我是 JSON

header(content-type:application/json;charset=utf-8);

$arr = [

汉字 => 这是一段汉字,

en => this is en,

1 => 12345689,

arr => [

key => value,

// 在这我加一个网址

url => https://blog.kieng.cn/,

],

];

echo stripslashes(json_encode($arr, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));

完美了吧?每次都写费劲.直接写个方法把

function jsonm($data) {

header(content-type:application/json;charset=utf-8);

return stripslashes(json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));

}

jsonm([code=>1,msg=>OJ8K]);

~谢谢打赏~

赏

在写一个API接口的时候,使用 json 数据返给前端使用..PHP使用时json_encode函数 $arr = [ 汉字 => 这是一段汉字, en => this is en, 1 => 12345689, arr => [ key => value, ], ]; echo json_encode($arr); 输出之后是这样的. 这种并不是标准的 JSON,因为你没告诉浏览器这是 JSON 数据,浏览器默认以 html 输出了.那么我们加上. // 告诉浏览器我是 JSON header(content-type:application/json;charset=utf-8); $arr = [ 汉字 => 这是一段汉字, en => this is en, 1 => 12345689, arr => [ key => value, ], ]; echo json_encode($arr); 中文汉字会被编码.也不是很好看. 在这里我们使用:JSON_UNESCAPED_UNICODE和JSON_PRETTY_PRINT 如: // 告诉浏览器我是 JSON header(content-type:application/json;charset=utf-8); $arr = [ 汉字 => 这是一段汉字, en => this is en, 1 => 12345689, arr => [ key => value, // 在这我加一个网址 url=>https://blog.kieng.cn/, ], ]; echo json_encode($arr); 好看了吧? 但是又发现 /会被自动变为/,咋办呢?我们使用stripslashes删除反斜线函数 // 告诉浏览器我是 JSON header(content-type:application/json;charset=utf-8); $arr = [ 汉字 => 这是一段汉字, en => this is en, 1 => 12345689, arr => [ key => value, // 在这我加一个网址 url => https://blog.kieng.cn/, ], ]; echo stripslashes(json_encode($arr, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); 完美了吧?每次都写费劲.直接写个方法把 function jsonm($data) { header(content-type:application/json;charset=utf-8); return stripslashes(json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); } jsonm([code=>1,msg=>OJ8K]); ~谢谢打赏~ 赏
经验分享 程序员 微信小程序 职场和发展