我有一个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