登录  /  注册
首页 >后端开发 >PHP问题 > 正文

php怎么将字符串变量转为json对象

原创2023-03-09 20:30:023989

在php中,可以使用json_encode()函数将字符串变量转为json对象,语法“json_encode(字符串变量)”;json_encode()函数用于对任何数据类型的变量进行JSON编码,将其转换成JSON格式的数据。

php怎么将字符串变量转为json对象

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

PHP中将字符串变量转化成Json格式

<?php
header("Content-Type:text/html;charset=utf-8;");
$arr = array (‘Version_code‘=>2,‘Version_name‘=>‘UpdateVersion‘,‘Versoin_desc‘=>‘更新了地图功能‘,‘Versoin_path‘=>‘http://nnddkj.com/BusIot/APK/BusIot.apk‘);
echo json_encode($arr);
?>
登录后复制

如上代码,即为将字符串变量转化成json格式输出,但是输出结果如下:

{"Version_code":2,"Version_name":"UpdateVersion","Versoin_desc":"\u66f4\u65b0\u4e86\u5730\u56fe\u529f\u80fd","Versoin_path":"http:\/\/nnddkj.com\/BusIot\/APK\/BusIot.apk"}即数组中所有中文在json_encode之后都不见了或者出现\u2353等。
登录后复制

解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来。

<?php
header("Content-Type:text/html;charset=utf-8;");
$arr = array (‘Version_code‘=>2,‘Version_name‘=>‘UpdateVersion‘,‘Versoin_desc‘=>urlencode(‘更新了地图功能‘),‘Versoin_path‘=>urlencode(‘http://nnddkj.com/BusIot/APK/BusIot.apk‘));
echo urldecode(json_encode($arr));
?>
登录后复制

输出结果:{"Version_code":2,"Version_name":"UpdateVersion","Versoin_desc":"更新了地图功能","Versoin_path":"http://nnddkj.com/BusIot/APK/BusIot.apk"}

搞定。。

附:json_decode对JSON格式的字符串进行编码,而json_encode对变量进行 JSON 编码

json_decode - 对JSON 格式的字符串进行编码

说明:

mixed json_decode ( string $json [, bool $assoc ] )
登录后复制

接受一个 J SON 格式的字符串并且把它转换为 PHP 变量 ,$assoc,当该参数为 TRUE 时,将返回 array 而非 object

推荐学习:《PHP视频教程

以上就是php怎么将字符串变量转为json对象的详细内容,更多请关注php中文网其它相关文章!

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:php 字符串 json
  • 相关文章

    相关视频


    视频教程分类

    专题推荐