我有一個JSON對象,我從ExtJS接口POSTing到PHP。我從在PHP中訪問JSON對象元素
$json = $_POST["newUserInfo"];
對象的對象將包含3個陣列,這點我可以看到,如果我做
var_dump(json_decode($json));
我需要每個陣列,並從中建立SQL查詢。我的第一個障礙是將數組從對象中取出,儘管這可能是不必要的。這裏是我工作的代碼塊:
/*Variable passed in from the ExtJS interface as JSON object*/
$json = $_POST["newUserInfo"];
//$json = '{"USER":{"ID":"","FULL_USER_NAME":"Some Guy","ENTERPRISE_USER_NAME":"guyso01","USER_EMAIL":"[email protected]","USER_PHONE":"123-456-7890"},"PERMISSIONS":{"ID":"","USER_ID":"","IS_ADMIN":"true"},"SETTINGS":{"ID":"","USERS_ID":"","BACKGROUND":"default"}}';
//Test to view the decoded output
//var_dump(json_decode($json));
//Decode the $json variable
$jsonDecoded = json_decode($json,true);
//Create arrays for each table from the $jsonDecoded object
$user_info = array($jsonDecoded['USER']);
$permissions_info = array($jsonDecoded['PERMISSIONS']);
$settings_info = array($jsonDecoded['SETTINGS']);
我沒有正確創建數組。我也試過
$user_info = $jsonDecoded->USER;
而且這也不起作用。我確信我在這裏很容易想到一些事情。同樣,這可能是不必要的,因爲我可能直接訪問它們。我需要通過遍歷數組來構建查詢,並將每個鍵附加到一個字符串,並將每個值附加到一個字符串。所以我最終得到了類似的東西
$query = "INSERT INTO USERS ($keyString) VALUES ($valueString);
然後,我會重複相同的進程的權限和設置數組。這可能很簡單,但我在這裏卡住了。
你正在從JSON數組,就沒有必要讓它'陣列(陣列( ))' – Amelia 2013-04-29 18:09:17