关于JSON数据解析 本帖最后由 xeqtrl982 于 2010-05-11 22:39:25 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $json = '{"orderData":{"date":"2010-05-11T01:11:33-07:00","receipt":"xxxxx","promo":{"@nil":"true"},"pmtType":"xxxxx","txnType":"SALE","item":"1","amount":"47.00","site":"seolv","affi":"xxx","country":"US","state":"xx","lastName":"xxx","firstName":"xxx","currency":"USD","email":"xxxxx.com","zip":"xxxxx","rebillAmount":"47.00","processedPayments":"1","futurePayments":"98","nextPaymentDate":"2010-06-11T00:00:00-07:00","status":"ACTIVE","accountAmount":"16.99","role":"AFFILIATE"}}';$result = json_decode($json, true);//echo "<pre>";//print_r($result);//echo "</pre>";echo $result['orderData']['firstName'];//xxx 谢楼上了,那$json是一个由多条json组成的记录呢,如何进行循环 1.$result = json_decode($json, true);2.获取json记录数,而后循环count($result['orderData'])如orderData的第2条记录的firstname则用$result['orderData'][1]['firstName']来表示! 楼主要学会自己调试啊,除了echo还可以print_r,还可以var_dump啊,自己输出一下整个数组就很容易知道结构了!$json = '{"orderData":{"date":"2010-05-11T01:11:33-07:00","receipt":"xxxxx","promo":{"@nil":"true"},"pmtType":"xxxxx","txnType":"SALE","item":"1","amount":"47.00","site":"seolv","affi":"xxx","country":"US","state":"xx","lastName":"xxx","firstName":"xxx","currency":"USD","email":"xxxxx.com","zip":"xxxxx","rebillAmount":"47.00","processedPayments":"1","futurePayments":"98","nextPaymentDate":"2010-06-11T00:00:00-07:00","status":"ACTIVE","accountAmount":"16.99","role":"AFFILIATE"}}';$arr = json_decode($json,true);print_r($arr); $rs = json_decode($s);echo $rs->orderData->firstName;完全可以 windows7 Loaded Configuration File(none) 在线等 socket这个东西,小弟一直很模糊!求大哥简单讲解! pdflib 的问题100分散了 PHP提问 一个PHP配置时遇到的问题,一个PHP上传文件问题,争求解决 C/S新手提问:discuz的二次开发循环问题 请问这两种连接方法有什么区别? php4 + apache + sqlserver的项目,连接不上数据库的问题 mysql 数据库问题 PHP该如何配置? 记录访问页面的入口数问题,在线等 函数内,如何操作函数外的变量呢?
$json = '{"orderData":{"date":"2010-05-11T01:11:33-07:00","receipt":"xxxxx","promo":{"@nil":"true"},"pmtType":"xxxxx","txnType":"SALE","item":"1","amount":"47.00","site":"seolv","affi":"xxx","country":"US","state":"xx","lastName":"xxx","firstName":"xxx","currency":"USD","email":"xxxxx.com","zip":"xxxxx","rebillAmount":"47.00","processedPayments":"1","futurePayments":"98","nextPaymentDate":"2010-06-11T00:00:00-07:00","status":"ACTIVE","accountAmount":"16.99","role":"AFFILIATE"}}';
$result = json_decode($json, true);
//echo "<pre>";
//print_r($result);
//echo "</pre>";
echo $result['orderData']['firstName'];//xxx
如
orderData的第2条记录的firstname则用
$result['orderData'][1]['firstName']来表示!
$json = '{"orderData":{"date":"2010-05-11T01:11:33-07:00","receipt":"xxxxx","promo":{"@nil":"true"},"pmtType":"xxxxx","txnType":"SALE","item":"1","amount":"47.00","site":"seolv","affi":"xxx","country":"US","state":"xx","lastName":"xxx","firstName":"xxx","currency":"USD","email":"xxxxx.com","zip":"xxxxx","rebillAmount":"47.00","processedPayments":"1","futurePayments":"98","nextPaymentDate":"2010-06-11T00:00:00-07:00","status":"ACTIVE","accountAmount":"16.99","role":"AFFILIATE"}}';
$arr = json_decode($json,true);
print_r($arr);
echo $rs->orderData->firstName;完全可以