gpt4 book ai didi

php - 在 PHP 中访问 JSON 对象元素

转载 作者:行者123 更新时间:2023-12-02 05:23:58 28 4
gpt4 key购买 nike

我有一个 JSON 对象,我正在从 ExtJS 接口(interface)发布到 PHP。我从

$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']);

我没有正确创建数组。我也试过
$user_info = $jsonDecoded->USER;

这也不起作用。我确定我在这里遗漏了一些简单的东西。同样,这可能是不必要的,因为我可能可以直接访问它们。我需要通过遍历数组并将每个键附加到字符串并将每个值附加到字符串来构建查询。所以我最终会得到类似的东西
$query = "INSERT INTO USERS ($keyString) VALUES ($valueString);

然后我会为 PERMISSIONS 和 SETTINGS 数组重复相同的过程。这可能很简单,但我被困在这里。

最佳答案

如果您使用 json_decode($json,true); - true 表示将 js 对象结果作为关联数组返回 - 那么你所要做的就是 $user_info = $jsonDecoded['USER'];没有 array()类型转换原因就是json_decode为你做。

如果您选择省略第二个 bool 参数,那么您将得到一个 stdClass,它是 $jsonDecoded->USER;会为你工作

关于php - 在 PHP 中访问 JSON 对象元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16285314/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com