难点
1、php解析json(这个不算难点了,网上实例一抓一大把)
2、解析json后,php怎样拿到该拿的值
<?php
require
('connect.php')
/*
本例用到的数据:
post_array={"order_id":"0022015112305010013","buyer_id":"2","seller_id":"1","all_price":"100.00","json_list":[{"product_id":"3","product_number":"3"},{"product_id":"8","product_number":"2"},{"product_id":"10","product_number":"4"}]}
*/
$post_array=$_POST['post_array']
//--解析Json,获取对应的变量值
$obj=json_decode($post_array,TRUE)
$order_id
=
$obj['order_id']
$buyer_id
=
$obj['buyer_id']
$seller_id
=
$obj['seller_id']
$all_price
=
$obj['all_price']
$i=0//循环变量
//--得到Json_list数组长度
$num=count($obj["json_list"])
//--遍历数组,将对应信息添加入数据库
for
($i$i<$num$i++)
{
$list_product_id[]=$obj["json_list"][$i]["product_id"]
$list_product_number[]=$obj["json_list"][$i]["product_number"]
$insert_order_product_sql="INSERT
INTO
tbl_order_product
(order_id,product_id,product_number)
VALUES
(?,?,?)"
$result
=
$sqlconn
->
prepare($insert_order_product_sql)
$result
->
bind_param("sss",
$order_id,$list_product_id[$i],$list_product_number[$i])
$result->execute()
}
//--添加订单信息
$insert_order_sql="INSERT
INTO
tbl_order
(order_id,buyer_id,seller_id,all_price)
VALUES
(?,?,?,?)"
$result=$sqlconn->prepare($insert_order_sql)
$result->bind_param("ssss",$order_id,$buyer_id,$seller_id,$all_price)
$result->execute()
$result
->
close()
$sqlconn
->
close()
?>
投稿者信息
昵称:
Hola
Email:
jamcistos@outlook.com
PHP获取JSON的数据可以使用内置的 json_decode() 就可以解码为PHP变量,可根据自己需要的格式来进行格式化并提交到数据库。
例如:
<?php$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'
var_dump(json_decode($json))
var_dump(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)
}
JSON在php中本质是字符串,直接存储就行了。
看你的图片,并不是一个JSON,而是一个数组,所以需要先将数组转码为JSON,再进行存储。
// 使用内置函数:json_encode()$data = array()
$jsonString = json_encode($data)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)