本文目錄一覽:
- 1、PHP接收json 並將接收數據插入資料庫的實現代碼
- 2、用Json獲取到資料庫中的值,這段代碼中要怎樣添加上表格(table))
- 3、高斯資料庫如何解析json
- 4、求一個資料庫函數解析json 如下圖要求
PHP接收json 並將接收數據插入資料庫的實現代碼
最近有一個需求,前端向後台提交json,後台解析並且將提交的值插入資料庫中,
難點
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
用Json獲取到資料庫中的值,這段代碼中要怎樣添加上表格(table))
json一般是通過js來解析的,然後在頁面上顯示,所以用Struts-tags標籤來遍歷肯定是不行的,因為標籤所取的值來自於ValeStack,然後輸入Ognl表達式得到,這裡的Json不符合這個條件。json格式的數據我們是可以通過js代碼拆分的,然而我們的table也是可以通過js代碼動態生成的,所以你動態生成table的同時把json的數據追加進table裡面就可以了。
高斯資料庫如何解析json
高斯資料庫解析json如下:
先將json轉成struct。然後json.Unmarshal即可。json轉struct,可以直接用在線的工具:https://mholt.github.io/json-to-go/在左邊貼上json後面就生成struct了。
高斯資料庫是由華為於2019年5月15日在北京發布的一款人工智慧原生資料庫。該資料庫支持本地部署、私有雲、公有雲等多種場景。
求一個資料庫函數解析json 如下圖要求
資料庫只是用來存儲數據的,為什麼不把處理數據的部分放在後台?
在這裡你需要了解以下幾個知識點。
在sqlserver 中存儲json ,需要用字元串類型進行存儲,一般用nvarchar()或 varchar()進行存儲。
openJson:打開Json字元串
IsJson:判斷一個字元串是不是合法的Json格式。是返回1,否返回0,null返回null。
Json_Value:從Json字元串中提取值。
Json_Query:Json字元串中提取對象或數組。
Json_Modify:更新Json字元串中的屬性值,並返回更新的Json字元串
然後參考圖片的需求,獲取輸入key值中的value欄位可以得到如下sql語句。
從JSON中獲取輸入B的JSON對象
SELECT JSON_QUERY(json, CONCAT(‘$.’,key)) INTO K_VAL;
從B的JSON對象中,獲取value欄位的值
SELECT JSON_VALUE(K_VAL, ‘$.value’) INTO JSONVALUE;
最終我們的聲明的函數大概是:
CREATE FUNCTION PARSEJSON(json VARCHAR(2000), key VARCHAR(200))
RETURNS VARCHAR
BEGIN
declare JSONVALUE VARCHAR;
declare K_VAL VARCHAR;
SELECT JSON_QUERY(json, CONCAT(‘$.’,key)) INTO K_VAL;
SELECT JSON_VALUE(K_VAL, ‘$.value’) INTO JSONVALUE;
return JSONVALUE;
END
原創文章,作者:X6GAV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128424.html