首頁  >  文章  >  後端開發  >  php中json資料處理的問題

php中json資料處理的問題

WBOY
WBOY原創
2016-10-19 10:40:521150瀏覽

微店API推送的訂單資訊格式如下:

<code>content=
{"message":{
"seller_name":"天天向上","total":"0.10",
"express_fee":"0.00",
"buyer_identity_id":"0",
"f_phone":"",
"fx_fee_value":"0.00",
"express_type":null,
"express_note":"",
"modify_price_enable":"1",
"express":null,
"order_id":"774780580411340",
"order_type_des":"担保交易",
"confirm_expire":"",
"group_status":-1,
"send_time":null,
"weixin":"",
"is_close":0,
"argue_flag":0,
"total_fee":"0.00",
"status_desc":"未付款",
"quantity":"1",
"note":"",
"trade_no":null,
"sk":null,
"status":"unpay",
"discount_info":"无优惠",
"seller_phone":"18512345678",
"express_fee_num":"0.00",
"pay_time":"",
"discount_amount":"0",
"discount":null,
"real_income_price":"",
"price":"0.10",
"buyer_info":{
"buyer_id":"1024799624",
"region":"禹会区",
"phone":"15923808761",
"post":null,
"address":"安徽 蚌埠市 禹会区 城区回来了",
"name":"路过",
"self_address":"城区回来了",
"province":"安徽",
"city":"蚌埠"
},
"items":
[{
"is_delivered":0,
"img":"http://wd.geilicdn.com/vshop1024697422-1476758240117-CE6F5-s1.jpg?w=110&h=110&cp=1",
"total_price":"0.10",
"merchant_code":"",
"deliver_id":"0",
"url":"http://weidian.com/i/1969988669",
"deliver_status_desc":"",
"price":"0.10",
"sku_merchant_code":"",
"item_name":"测试商品",
"item_id":"1969988669",
"fx_fee_rate":"0%",
"quantity":"1",
"can_deliver":1,
"refund_info":{"refund_no":"",
"refund_fee":"0",
"refund_status_str":"",
"item_id":"1969988669",
"item_sku_id":"0",
"refund_status":"",
"refund_express_fee":"0",
"can_refund":"0",
"refund_item_fee":"0",
"refund_status_desc":""},
"sku_id":"0","sku_title":null
}],
"user_phone":"15912345678",
"status2":"未付款",
"f_seller_id":"",
"seller_id":"1024697422",
"add_time":"2016-10-18 13:25:54",
"refund_info":
{
"buyer_refund_fee":null,
"refund_time":null},
"return_code":"",
"express_no":null,
"f_shop_name":"",
"original_total_price":"",
"order_type":"3"
},
"type":"weidian.order.non_payment"
}&public={"x_forwarded_for":null}
</code>

需要取得其中某一個或幾個欄位的數據,這裡有兩段json訊息,求問大神該怎麼處理呢?

如果是

<code>{"seller_name":"天天向上","total":"0.10",
"express_fee":"0.00",
"buyer_identity_id":"0",
"f_phone":"",
"fx_fee_value":"0.00",
"express_type":null,
"express_note":"",
"modify_price_enable":"1",
"express":null,
"order_id":"774780580411340"}
</code>

這樣的格式,應該下面的程式碼就可以

<code><?php
$input = file_get_contents("php://input"); //接收POST数据
$arr=json_decode($input, true); 
file_put_contents("test.txt",$arr[order_id], FILE_APPEND);//以将order_id追加如文本文档为例
?></code>

回覆內容:

微店API推送的訂單資訊格式如下:

<code>content=
{"message":{
"seller_name":"天天向上","total":"0.10",
"express_fee":"0.00",
"buyer_identity_id":"0",
"f_phone":"",
"fx_fee_value":"0.00",
"express_type":null,
"express_note":"",
"modify_price_enable":"1",
"express":null,
"order_id":"774780580411340",
"order_type_des":"担保交易",
"confirm_expire":"",
"group_status":-1,
"send_time":null,
"weixin":"",
"is_close":0,
"argue_flag":0,
"total_fee":"0.00",
"status_desc":"未付款",
"quantity":"1",
"note":"",
"trade_no":null,
"sk":null,
"status":"unpay",
"discount_info":"无优惠",
"seller_phone":"18512345678",
"express_fee_num":"0.00",
"pay_time":"",
"discount_amount":"0",
"discount":null,
"real_income_price":"",
"price":"0.10",
"buyer_info":{
"buyer_id":"1024799624",
"region":"禹会区",
"phone":"15923808761",
"post":null,
"address":"安徽 蚌埠市 禹会区 城区回来了",
"name":"路过",
"self_address":"城区回来了",
"province":"安徽",
"city":"蚌埠"
},
"items":
[{
"is_delivered":0,
"img":"http://wd.geilicdn.com/vshop1024697422-1476758240117-CE6F5-s1.jpg?w=110&h=110&cp=1",
"total_price":"0.10",
"merchant_code":"",
"deliver_id":"0",
"url":"http://weidian.com/i/1969988669",
"deliver_status_desc":"",
"price":"0.10",
"sku_merchant_code":"",
"item_name":"测试商品",
"item_id":"1969988669",
"fx_fee_rate":"0%",
"quantity":"1",
"can_deliver":1,
"refund_info":{"refund_no":"",
"refund_fee":"0",
"refund_status_str":"",
"item_id":"1969988669",
"item_sku_id":"0",
"refund_status":"",
"refund_express_fee":"0",
"can_refund":"0",
"refund_item_fee":"0",
"refund_status_desc":""},
"sku_id":"0","sku_title":null
}],
"user_phone":"15912345678",
"status2":"未付款",
"f_seller_id":"",
"seller_id":"1024697422",
"add_time":"2016-10-18 13:25:54",
"refund_info":
{
"buyer_refund_fee":null,
"refund_time":null},
"return_code":"",
"express_no":null,
"f_shop_name":"",
"original_total_price":"",
"order_type":"3"
},
"type":"weidian.order.non_payment"
}&public={"x_forwarded_for":null}
</code>

需要取得其中某一個或幾個欄位的數據,這裡有兩段json訊息,求問大神該怎麼處理呢?

如果是

<code>{"seller_name":"天天向上","total":"0.10",
"express_fee":"0.00",
"buyer_identity_id":"0",
"f_phone":"",
"fx_fee_value":"0.00",
"express_type":null,
"express_note":"",
"modify_price_enable":"1",
"express":null,
"order_id":"774780580411340"}
</code>

這樣的格式,應該下面的程式碼就可以

<code><?php
$input = file_get_contents("php://input"); //接收POST数据
$arr=json_decode($input, true); 
file_put_contents("test.txt",$arr[order_id], FILE_APPEND);//以将order_id追加如文本文档为例
?></code>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn