这是代码
$jsonString = urldecode($json);
$jsonString = str_replace("\\", "", $jsonString);
$data = JSON_decode($jsonString);
mysql_select_db($database) or die('Cannot connect to database.');
print_r($data);
输出:
stdClass Object ( [myObject] => Array ( [0] => stdClass Object ( [fullname] => abc [role] => ADMIN [username] => xyz ) ) )
我的问题如何提取单个值并将其插入数据库 全名,角色和用户名
答案 0 :(得分:2)
默认情况下json_decode
将JSON对象转换为PHP对象,因此您需要像以下一样访问它:
$data->myObject[0]->fullname;
将数据存储在mysql查询中时:
$query = "INSERT INTO table SET fullname = '{$data->myObject[0]->fullname}'";
如果您更喜欢使用数组而不是对象,可以使用:
$data = json_decode($jsonString, true); //notice the 2nd parameter
通过这种方式,您可以使用类似于所描述的其他两个海报的数组来访问您的变量。
修改的
你真的不需要使用for循环,你只需设置:
$data = json_decode($jsonString, true);
$users = $data['myObject'];
因为你已经在$ data ['myObject']中拥有一个完全有效的数组。
答案 1 :(得分:1)
获取全名:
$fullname = $data['myObject'][0]['fullname'];
相同的角色/ ADMIN
您可以将其添加到SQL字符串中以插入数据库。
有关插入mysql的示例,请参阅:http://www.w3schools.com/PHP/php_mysql_insert.asp
答案 2 :(得分:1)
如果你这样做
$data = JSON_decode($jsonString, true); // just add true
然后只需使用
$name = $data['myObject'][0]['name'];
并保存