本文目录一览:
PHP json数据写入到json文件,读取json文件
// 生成一个PHP数组
$data = array();
$data['name'] = 'admin';
$data['pwd'] = '123456';
// 把PHP数组转成JSON字符串
$json_string = json_encode($data);
// 写入文件
file_put_contents('user.json', $json_string);
// 从文件中读取数据到PHP变量
$json_string = file_get_contents('user.json');
// 把JSON字符串转成PHP数组
$data = json_decode($json_string, true);
// 显示出来看看
var_dump($data)
php 输出json及显示json中的中文汉字详解及实例
PHP 输出 JSON 及显示 JSON 中的中文汉字
在 PHP 中,我们经常需要将数组输出 JSON,只需要使用 json_encode
函数处理一下数组即可,但有的时候数组里面有中文,使用 json_encode
函数处理后中文字符被编码成了 Unicode,如何才能在 JSON 中显示中文呢?请看下文。
首先介绍一下 PHP 输出 JSON 格式:
一种最简单的用法,就是把数组直接输出为 JSON,如下:
<?php
$arr = array('p1' => 'ni"hao', 'p2' => 2, 'ch' => '码农你好!');
$json = json_encode($arr);
echo $json;
?>
输出的结果为:
{"p1":"ni\"hao","p2":2,"ch":"\u7801\u519c\u4f60\u597d\uff01"}
这里要注意:
- 双引号在 JSON 中会被自动编码为
\"
,这个很好理解,JS 中字符串中是不允许出现单引号、双引号和反斜杠的。 - 中文字符被编码成了 Unicode。 如果是写接口,那直接这样输出就够了,中文无需去做处理。等到了客户端,再去把 Unicode 的中文转成汉字即可。但如果要在服务器端直接输出汉字出来,那我们可以做如下处理。
<?php
$arr = array('p1' => 'nihao', 'p2' => 2, 'ch' => '码农你好!');
$json = json_encode($arr);
echo decodeUnicode($json);
function decodeUnicode($str) {
return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
create_function(
'$matches',
'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
),
$str);
}
?>
输出:
{"p1":"ni\"hao","p2":2,"ch":"码农你好!"}
这个操作很简单,其实就是把输出结果匹配一下,把 Unicode 还原成了汉字。 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
如何在PHP中返回Json数据
概述
不对。
返回 JSON 用的 json_encode()
方法没错,但是需要在头部声明格式。
代码解析
PHP 返回需要用 json_encode()
方法来将需要转换的字符串转换成 JSON 编码格式(注意:仅仅更换文件内容,而返回的文件依然为文本格式且编码为 gtk)
所以,这里需要在 PHP 头部声明:
header('Content-Type:text/json;charset=utf-8');
拓展内容
JSON(JavaScript Object Notation, JS 对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(欧洲计算机协会制定的 JS 规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON 通常被作为配置文件,常见还有 .ini
。
PHP生成及获取JSON文件的方法
本文实例讲述了 PHP 生成及获取 JSON 文件的方法。分享给大家供大家参考,具体如下:
首先定义一个数组,然后遍历数据表,把相应的数据放到数组中,最后通过 json_encode()
转化数组。
json_encode()
函数的功能是将数值转换成 JSON 数据存储格式。
putjson.php:
<?php
// 生成一个PHP数组
$data = array();
$data[0] = array('1', '吴者然', 'onestopweb.cn');
$data[1] = array('2', '何开', 'iteye.com');
// 把PHP数组转成JSON字符串
$json_string = json_encode($data);
// 写入文件
file_put_contents('test.json', $json_string);
?>
有同名的 JSON 文件则覆盖,没有则创建。 生成或覆盖的 JSON 如下:
[["1","\u811A\u672C\u4E4B\u5BB6",""],["2","\u7F16\u7A0B\u5F00\u53D1","jb51.net"]]
然后,把 JSON 文件中的数据读取到 PHP 变量中。
getjson.php:
<?php
// 从文件中读取数据到PHP变量
$json_string = file_get_contents('test.json');
// 把JSON字符串转成PHP数组
$data = json_decode($json_string, true);
// 显示出来看看
var_dump($data);
echo '<br><br>';
print_r($data);
echo '<br><br>';
echo '编号:'.$data[0][0].'<br>姓名:'.$data[0][1].'<br>网址:'.$data[0][2];
echo '<br>';
echo '编号:'.$data[1][0].'<br>姓名:'.$data[1][1].'<br>网址:'.$data[1][2];
?>
效果图: PS:这里再为大家推荐几款比较实用的 JSON 在线工具供大家参考使用:
- 在线 JSON 代码检验、检验、美化、格式化工具
- JSON 在线格式化工具
- 在线 XML/JSON 互相转换工具
- JSON 代码在线格式化/美化/压缩/编辑/转换工具
- C 语言风格/HTML/CSS/JSON 代码格式化美化工具 更多关于 PHP 相关内容感兴趣的读者可查看本站专题:
- PHP 中 JSON 格式数据操作技巧汇总
- PHP 针对 XML 文件操作技巧总结
- PHP 基本语法入门教程
- PHP 数组 (Array) 操作技巧大全
- PHP 字符串 (string) 用法总结
- PHP + MySQL 数据库操作入门教程
- PHP 常见数据库操作技巧汇总 希望本文所述对大家 PHP 程序设计有所帮助。