Доступ к элементам объекта JSON в PHP

У меня есть объект JSON, который я POST'ING для PHP из интерфейса ExtJS. Я получаю объект от

$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":"Some.Guy@Email.com","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']); по /*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":"Some.Guy@Email.com","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); 

Затем я повторю тот же процесс для массивов PERMISSIONS и SETTINGS. Это, наверное, просто, но я застрял здесь.

Если вы используете json_decode($json,true); – true означает возвращение результатов объектов js в виде ассоциативных массивов – тогда вам нужно всего лишь $user_info = $jsonDecoded['USER']; без json_decode array() , это то, что json_decode для вас.

Если вы захотите опустить второй логический параметр, вы получите stdClass, который $jsonDecoded->USER; будет работать для вас