本文目录一览:
php 怎么解释返回的json数据
php 输出JSON格式,使用json_encode函数即可 例如: 得到结果: {"fruits":{"a":"orange","b":"banana","c":"apple"},"numbers":[1,2,3,4,5,6],"holes":{"0":"first","5":"second","6":"third"}}
怎么解析从PHP传过来的JSON数据?
js解析处理JSON格式的数据,有多种方法.
(1)现在大多标准浏览器,都带有对JSON的支持,可以直接通过js调用处理:
var obj=JSON.parse(str);//str是php传来的json数据
(2)使用了jquery等js库,一般都会提供对json的支持,比如使用jQuery:
var obj=jQuery.parseJSON(str);//str是php传来的json数据
(3)可以使用json.js来增加浏览器的功能(一般针对性引用,在浏览器不支持json时加载json.js)
(4)简单粗暴的解决方法:
var obj = eval ("(" + txt + ")");//txt是php传来的json数据
但是使用eval不安全,而且需要是有效的json数据.如果你能保证是安全且正确的数据,可以这样简单处理.
如何在PHP中解析json
给出例子供参考:
?php
// Encode the data.
$json = json_encode(
array(
1 = array(
'English' = array(
'One',
'January'
),
'French' = array(
'Une',
'Janvier'
)
)
)
);
// Define the errors.
$constants = get_defined_constants(true);
$json_errors = array();
foreach ($constants["json"] as $name = $value) {
if (!strncmp($name, "JSON_ERROR_", 11)) {
$json_errors[$value] = $name;
}
}
// Show the errors for different depths.
foreach (range(4, 3, -1) as $depth) {
var_dump(json_decode($json, true, $depth));
echo 'Last error: ', $json_errors[json_last_error()], PHP_EOL, PHP_EOL;
}
?
php解析json数据
json_encode
对中文的处理是有问题的:
不能处理GBK编码,所有的GBK编码都会替换成空字符;
utf8编码的中文被编码成unicode编码,相当于javascript的escape函数
处理的结果。
为了能正确使用json,首先我们就应该在编码上采用utf8编码,然后再对
json_encode的返回结果稍加处理就可以得到正确的结果了。
即需要加:原始数据$json=iconv("GBK","UTF-8",$json);
json_decode之后需要显示或使用时,再转回来
echo iconv("UTF-8","GBK",$decode['data'][0]['APPName']);
php如何解析json
用json_decode函数将json字符串转换为数组
?php
$json = '{"multi-i1ndex-style":{"old":{"0.1":"123","0.2":"234"}}}';
echo "pre";
print_r(json_decode($json, true));
echo "/pre";
php解析json
你 定义$str ="你那一大堆字符串"。
然后 用 $arr=json_decode($str);
返回数组,
还有你的格式好像json_decode不出来哦,把格式整理一下,不行就用正则表达式吧