㈠ php怎么将数组数组转化为json格式的数据
一、json_encode()
[php]view plain
<?php
$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echojson_encode($arr);
?>
输出
[php]view plain
{"a":1,"b":2,"c":3,"d":4,"e":5}
再看一个对象转换的例子:
[php]view plain
$obj->body='anotherpost';
$obj->id=21;
$obj->approved=true;
$obj->favorite_count=1;
$obj->status=NULL;
echojson_encode($obj);
输出
[php]view plain
{
"body":"anotherpost",
"id":21,
"approved":true,
"favorite_count":1,
"status":null
}
二、索引数组和关联数组
PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。
由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。
㈡ php 怎样获取 返回的json值提交到数据库
PHP获取JSON的数据可以使用内置的 json_decode() 就可以解码为PHP变量,可根据自己需要的格式来进行格式化并提交到数据库。
例如:
<?php
$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_mp(json_decode($json));
var_mp(json_decode($json,true));
?>
将会输出
object(stdClass)#1(5){
["a"]=>int(1)
["b"]=>int(2)
["c"]=>int(3)
["d"]=>int(4)
["e"]=>int(5)
}
array(5){
["a"]=>int(1)
["b"]=>int(2)
["c"]=>int(3)
["d"]=>int(4)
["e"]=>int(5)
}
㈢ php处理ajax怎么返回json数据
/**************************************************************
*
* 将数组转换为json字符串(兼容中文)
* @param array $array 要转换的数组
* @return string 转换得到的json字符串
* @access public
*
*************************************************************/
function json($array) {
arrayrecursive($array, 'urlencode', true);
$json = json_encode($array);
return urldecode($json);
}
$array = array
(
'name'=>'希亚',
'age'=>20,
'id'=>$_post['cid']
);
㈣ 如何在PHP中返回Json数据
不对。
返回json用的json_encode()方法没错,但是需要在头部声明格式。
php返回需要用json_encode()方法来将需要转换的字符串转换成json编码格式(注意:仅仅更换文件内容,而返回的文件依然为文本格式且编码为gtk)
所以,这里需要在php头部声明
header('Content-Type:text/json;charset=utf-8');
JSON(JavaScriptObject Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
json通常被作为配置文件,常见还有.ini
㈤ thinkphp中怎么返回json数据
使用thinkphp框架开发,不知道如何返回JSON字符串,ajax无法调用 有三种方式可以返回
1、若是数据库实体,可以使用toJson()方法
$user = User::get(1); echo $user->toJson();2、若非数据库实体,可以使用json view方法,thinkphp除了实现response对象,还实现了jsonResponse若非数
$data = [ 'result'=>'success', 'msg'=>'操作成功!' ]; //class Json extends Response
return json($data);
3、若非数据库实体,可以使用json_encode()方法:
$data = [ 'result'=>'success', 'msg'=>'操作成功!' ];
return json_encode($data);
thinkphp5 ajax如何返回json
㈥ php如何获取json中数据
可以用$obj=>key 的方式直接读取 也可以先转换为数组 用遍历数组的方法读取
<?php
$json='{"a":100,"b":200,"c":300,"d":400,"e":500}';
//首先将json字符串转换成关联数组
$arr=json_decode($json,true);
//然后循环读取数据
foreach($arras$item){
echo$item;
echo"<br/>";
}
?>
运行结果:
100
200
300
400
500
㈦ php怎么返回json数据给ajax
json_encode
(PHP 5 >= 5.2.0, PECL json >= 1.2.0, PHP 7)
json_encode—Returns the JSON representation of a value
网页链接
㈧ php 如何声明返回数据格式为 JSON
xml格式返回的是数据一般是这样的,但也有不同:
<?xml version="1.0" encoding="gbk"?> <root> <head> <actdate>20170805</actdate> <trdate>20170805</trdate> <trtime>142410</trtime> <trseq>20170807001</trseq> <succflag>1</succflag> <retcode>0000</retcode> <retmsg>鎴愬姛</retmsg> </head> <body> <rowcount>0</rowcount> </body> </root>
一般xml直接用php的:simplexml_load_string();解析成数组,但我解析的时候提示:有无法解析的数据编码。
也就是数据乱码的那部分,解决乱码我用了header的声明,但不管用,最后用了:
iconv('utf-8','gbk',$a);
问题解决,先转码,后解析
最后json转换就行了。
㈨ PHP是怎么返回json格式的数据
PHP中要返回json格式数据,直接输出,然后退出或者结束即可。示例如下:
$arr=array('name'=>'chinawinxp','site'=>'com');
echojson_encode($arr);
exit;
//或者exit(json_encode($arr));
㈩ ajax 怎么处理php返回json数据
用json_encode()函数对数组进行JSON编码。
<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echojson_encode($arr);
?>
以上例程会输出:
{"a":1,"b":2,"c":3,"d":4,"e":5}[1]
当有中文字符时,当直接使用json_encode() 函数会使汉字不能正常显示。 所以有了这个适用性比较广的函数 ch_json_encode() 来解决这个问题。