json字符串php
① php 处理json字符串~呢
<?php$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';$jsonObj = json_decode($json);foreach($jsonObj as $jk=>$jv) { $$jk = $jv;}echo "a=$a;b=$b;c=$c;d=$d;e=$e;";//也可得到相同的结果?>
② php 怎么 字符串 转 json对象
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php,里面定义了个一个json字符串。
③ PHP如何正常转换中文json格式字符串
在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能是将数值转换成json数据存储格式,但是转换后的中文会变成Unicode编码。
[php] view plainprint?
<?php
$arr = array
(
'Name'=>'希亚',
'Age'=>20
);
$jsonencode = json_encode($arr);
echo $jsonencode;
?>
程序运行结果如下:
[php] view plainprint?
{"Name":null,"Age":20}
json_encode 函数中中文被编码成 null 了,Google 了一下,很简单,为了与前端紧密结合,Json 只支持 utf-8 编码,我认为是前端的 Javascript 也是 utf-8 的原因。
[php] view plainprint?
<?php
$array = array
(
'title'=>iconv('gb2312','utf-8','这里是中文标题'),
'body'=>'abcd...'
);
echo json_encode($array);
?>
④ php如何将json对象转字符串
json是JavaScript的一种数据对象,php中所谓的json,其实就是有着json这种特殊格式的字符串,它并不是对象,可以通过json_decode函数把这个字符串转成对象或数组。说白了就是php中的json就是字符串,你还要怎么转为字符串?
⑤ PHP怎么把多个数组揉成一个json字符串
<?php
//创建数组
$array = array(
"name" => "Hza",
"age" => 21
);
//数组转化为json格式
echo json_encode($array);
echo "<br />";
//创建类
class Student {
public $name;
public $age;
//初始化是赋值
function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
//魔术方法 把对象转换成字符串格式 以备使用json_encode()函数
function __tostring() {
//对象转化为json格式
return json_encode($this,JSON_FORCE_OBJECT);
}
}
//实例化对象
$person1 = new Student('Hza', 20);
//输出json格式
echo $person1;
?>
(5)json字符串php扩展阅读:
json六个构造字符:
begin-array = ws %x5B ws ; [ 左方括号
begin-object = ws %x7B ws ; { 左大括号
end-array = ws %x5D ws ; ] 右方括号
end-object = ws %x7D ws ; } 右大括号
name-separator = ws %x3A ws ; : 冒号
value-separator = ws %x2C ws ; , 逗号
在这六个构造字符的前或后允许存在无意义的空白符(ws):
ws = *(%x20 /; 空间
%x09 /; 水平标签
%x0A /; 换行或换行
%x0D); 回程
⑥ 请教PHP中JSON字符串取值问题
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
$jsonArr = json_decode($json, TRUE);
extract($jsonArr); //数组中将变量导入到以当前符号表
echo "a=$a;b=$b;c=$c;d=$d;e=$e;";
?>
另外也可以像遍历数组一样遍历得到的对象。
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
$jsonObj = json_decode($json);
foreach($jsonObj as $jk=>$jv) {
$$jk = $jv;
}
echo "a=$a;b=$b;c=$c;d=$d;e=$e;";
//也可得到相同的结果
?>
另外通过json_decode获得的json对象,也可以通过"$jsonObj->a"这样的方式获取其值。
⑦ php 处理json字符串
这个PHP 本身有二个函数 :
1. json_encode( array 或 object) 这个是用来把对象 或 数组转换为 JSON格式数据;
2. json_decode(string , boolen[数组为true,对象不用设置]) 这个是把现有的JSON数据转化为 PHP 数组或对象.
式例:
$a = array(1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd');
$b = json_encode($a);
echo $b; // 这里得到字串 "{"1":"a","2":"b","3":"c","4":"d"}"
$c = json_decode($b, true);
var_mp($c); // 这里得到$a数组
如果JSON数据是一个数据, 转化时建议把json_decode函数的第二个参数设为true, 对象则不用.
希望可以帮到你
⑧ 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);
["世界","你好"]
看吧,这才是我们想要的结果 :)
⑨ php中怎么转换json字符串
php里面有2个函数:json_encode和json_decode
查一下手册就可以解决了。
json_decode($str,true)可以得到数组,第二参数不加默认为false,得到对象。这样试试呢😊希望能帮到你,我还在后盾人线下面授培训上课学习呢现在没时间,有不会的可以问我,加油吧(/ω\)害羞
⑩ php怎么json数据转化为字符串
json数据本身就是一个字符串。
如果说转换,只是说,php数组和json字符串之间的转化,在这里给你介绍php操作json的两个函数
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.json_encode — 对变量进行 JSON 编码
Report a bug 说明
string json_encode ( mixed $value [, int $options = 0 ] )
返回 value 值的 JSON 形式
Report a bug 参数
value
待编码的 value ,除了resource 类型之外,可以为任何数据类型
该函数只能接受 UTF-8 编码的数据