我正在尝试遍历(DATA)
包含三个嵌套 JSON 对象(、、、NEWUSERS
)的 JSON 对象NEWUSERDATA
,NEWRELATIONS
使用 switch 函数为 MySQL 插入选择适当的函数。当我遍历按键时,开关中的每个功能都被调用一次,但它们似乎都只接收到NEWRELATIONS
对象。因此,函数会失败,除了insertNewTestRelations
用于接收NEWRELATIONS
对象的函数。我认为答案一定是盯着我的脸,但有人能想到为什么 JSON 对象会被重用吗?
读取和迭代 JSON
$json=json_decode($_SERVER['HTTP_JSON'],true);
$data=$json['DATA'];
foreach($data as $key=>$json_obj){
$result=null;
$result=$db->insertNewSwitch($key,$json_obj,$last_sync);
$response[$key.":errors"]=$result['errors'];
$response[$key.":successes"]=$result['successes'];
}
开关功能
public function insertNewSwitch($key,$json_obj,$last_sync){
$result;
if($key="NEWUSERS"){
$result=$this->insertNewTestUsers($json_obj,$last_sync,$key);
}
if($key="NEWUSERDATA"){
$result=$this->insertNewTestUserdata($json_obj,$last_sync,$key);
}
if($key="NEWRELATIONS"){
$result=$this->insertNewTestRelations($json_obj,$last_sync,$key);
}
return $result;
}