当前位置:首页 » 编程语言 » phpjson转字符串

phpjson转字符串

发布时间: 2025-07-21 20:40:29

Ⅰ 后端php那里接收到前端post给的json为什么会是转义字符串格式

1,有可能框架对整个参数,进行了者薯转义,反转义一遍即可首困者

2,有可能开启了PHP的自动过滤功能,在php.ini中关闭即可

magic_quotes_gpc=On改尺隐为magic_quotes_gpc=Off

Ⅱ 如何正确运用PHP json_encode函数进行中文转换

在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能是将数值转换成json数据存储格式,但是转换后的中文会变成Unicode编码。x0dx0a[php] view plainprint?x0dx0a'希亚', x0dx0a 'Age'=>20 x0dx0a ); x0dx0a x0dx0a$jsonencode = json_encode($arr); x0dx0aecho $jsonencode; x0dx0a?> x0dx0a程序运行结果如下:x0dx0a[php] view plainprint?x0dx0a{"Name":null,"Age":20} x0dx0ajson_encode 函数中中文被编码成 null 了,Google 了一下,很简单,为了与前端紧密结合,Json 只支持 utf-8 编码,我认为是前端的 Javascript 也是 utf-8 的原因。x0dx0a[php] view plainprint?x0dx0aiconv('gb2312','utf-8','这里是中文标题'), x0dx0a 'body'=>'abcd...' x0dx0a ); x0dx0a x0dx0aecho json_encode($array); x0dx0a?> x0dx0a这个程序的运行结果为:x0dx0a[php] view plainprint?x0dx0a{"title":"\u8fd9\u91cc\u662f\u4e2d\u6587\u6807\u9898","body":"abcd..."} x0dx0a数组中所有中文在json_encode之后都不见了或者出现\u2353等。解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来。x0dx0a[php] view plainprint?x0dx0a 1000) { x0dx0a die('possible deep recursion attack'); x0dx0a } x0dx0a foreach ($array as $key => $value) { x0dx0a if (is_array($value)) { x0dx0a arrayRecursive($array[$key], $function, $apply_to_keys_also); x0dx0a } else { x0dx0a $array[$key] = $function($value); x0dx0a } x0dx0a x0dx0a if ($apply_to_keys_also && is_string($key)) { x0dx0a $new_key = $function($key); x0dx0a if ($new_key != $key) { x0dx0a $array[$new_key] = $array[$key]; x0dx0a unset($array[$key]); x0dx0a } x0dx0a } x0dx0a } x0dx0a $recursive_counter--; x0dx0a} x0dx0a x0dx0a/************************************************************** x0dx0a * x0dx0a * 将数组转换为JSON字符串(兼容中文) x0dx0a * @param array $array 要转换的数组 x0dx0a * @return string 转换得到的json字符串 x0dx0a * @access public x0dx0a * x0dx0a *************************************************************/ x0dx0afunction JSON($array) { x0dx0a arrayRecursive($array, 'urlencode', true); x0dx0a $json = json_encode($array); x0dx0a return urldecode($json); x0dx0a} x0dx0a x0dx0a$array = array x0dx0a ( x0dx0a 'Name'=>'希亚', x0dx0a 'Age'=>20 x0dx0a ); x0dx0ax0dx0aecho JSON($array); x0dx0a?> x0dx0a这次成功了,运行结果如下:x0dx0a[php] view plainprint?x0dx0a{"Name":"希亚","Age":"20"}

Ⅲ php怎么json数据转化为字符串

json数据本身就是一个字符串。

如果说转换,只是说,php数组和json字符串之间的转化,在这里给你介绍php操作json的两个函数

  1. json_decode()对 JSON 格式的字符串进行编码
    说明
    mixed json_decode ( string $json [, bool $assoc ] )
    接受一个 JSON 格式的字符串并且把它转换为 PHP 变量

    参数
    json
    待解码的 json string 格式的字符串。
    assoc
    当该参数为 TRUE 时,将返回 array 而非 object 。


    返回值
    Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.

  2. json_encode — 对变量进行 JSON 编码

    Report a bug 说明
    string json_encode ( mixed $value [, int $options = 0 ] )
    返回 value 值的 JSON 形式

    Report a bug 参数

    value
    待编码的 value ,除了resource 类型之外,可以为任何数据类型

    该函数只能接受 UTF-8 编码的数据

Ⅳ php json_encode后的json里面的int类型变成string类型

json_encode($data);
json_encode($data, JSON_NUMERIC_CHECK);
默认是加双引号,即作为字符串输出,加上参数不加双引号

Ⅳ php如何输出中文json格式字符串

php如何输出中文json格式字符串
如何对json格式的字符串进行转换,php提供了两个函数:
json_encode 对变量进行 JSON 编码
json_decode 对 JSON 格式的字符串进行编码

下面看个实例:
$arr = ['a', 'b', 'c'];echo json_encode($arr);

输出为:
["a","b","c"]

但是,当我们在数组中放入中文的时候,就会出现问题:
$arr = [ '世界', '你好',
];echo json_encode($arr);

输出的结果为:
["\u4e16\u754c","\u4f60\u597d"]

这个结果显然不是我们想要的,但是为什么出现这个呢?
因为当我们的值中包含中文时,php对他进行json编码时底层会对中文进行unicode编码,导致结果不可读,那该怎么解决呢?
方法一
可以利用 urlencode 和 urldecode 方法绕过这个转码为 unicode 的过程,先将中文字段进行urlencode,然后json_encode,最后再用urldecode处理结果,便可以正常显示中文。具体代码如下:
$arr = [ '世界', '你好',
];echo urldecode(json_encode(array_map('urlencode', $arr)));

输出结果为:
["世界","你好"]

方法二
自PHP5.4版本,官方就已经给Json新增了一个选项: JSON_UNESCAPED_UNICODE。加上这个选项后,就不会自动把中文编码了。具体代码如下:
$arr = [ '世界', '你好',
];echo json_encode($arr, JSON_UNESCAPED_UNICODE);
["世界","你好"]

看吧,这才是我们想要的结果 :)

热点内容
负九源码 发布:2025-07-22 02:00:52 浏览:758
老安卓机安装什么系统流畅 发布:2025-07-22 01:59:36 浏览:420
苹果6新建文件夹 发布:2025-07-22 01:47:25 浏览:873
如何消除安卓手机上的悬浮小圈 发布:2025-07-22 01:45:15 浏览:281
如何使用云存储的服务器 发布:2025-07-22 01:37:03 浏览:636
python中axis 发布:2025-07-22 01:04:05 浏览:445
我的世界如何在服务器中安装材质 发布:2025-07-22 01:04:04 浏览:718
android字符中文 发布:2025-07-22 01:03:30 浏览:633
生辰算法 发布:2025-07-22 01:01:38 浏览:498
补牙材料压缩 发布:2025-07-22 01:00:33 浏览:291