【发布时间】:2015-12-19 05:55:18
【问题描述】:
我需要从 JSON 文件中解析这多个 JSON 对象。 JSON 文件包含数千个 JSON 对象,我现在需要解析所有这些 JSON 对象,所以请任何人尝试解决这个问题,然后我需要将所有 JSON 数据存储到 MySQL。
{
{
"name": "Michael Bruce",
"gender": "Male",
"designation": "System Architect"
},
{
"name": "Jennifer Winters",
"gender": "Female",
"designation": "Senior Programmer"
},
{
"name": "Donna Fox",
"gender": "Female",
"designation": "Office Manager"
},
{
"name": "Howard Hatfield",
"gender": "Male",
"designation": "Customer Support"
}
}
{
{
"name": "aMichael Bruce",
"gender": "Male",
"designation": "System Architect"
},
{
"name": "Jennifer Winters",
"gender": "Female",
"designation": "Senior Programmer"
},
{
"name": "Donna Fox",
"gender": "Female",
"designation": "Office Manager"
},
{
"name": "Howard Hatfield",
"gender": "Male",
"designation": "Customer Support"
}
}
{
{
"name": "Michael Bruce",
"gender": "Male",
"designation": "System Architect"
},
{
"name": "Jennifer Winters",
"gender": "Female",
"designation": "Senior Programmer"
},
{
"name": "Donna Fox",
"gender": "Female",
"designation": "Office Manager"
},
{
"name": "Howard Hatfield",
"gender": "Male",
"designation": "Customer Support"
}
}
还有我的代码。
<?php
$host = "localhost";
$username = "root";
$password = "";
$dbname = "employee";
$con = mysqli_connect($host, $username, $password, $dbname) or die('Error in Connecting: ' . mysqli_error($con));
$st = mysqli_prepare($con, 'INSERT INTO emp(name, gender, designation) VALUES (?, ?, ?)');
mysqli_stmt_bind_param($st, 'sss', $name, $gender, $designation);
$filename = 'file3.json';
$json = file_get_contents($filename);
$data = json_decode($json, true);
foreach ($data as $key => $value) {
if (!is_array($value)) {
echo $key . '=>' . $value . '<br/>';
} else {
foreach ($value as $key => $val) {
$name = $key['name'];
$gender = $key['gender'];
$designation = $key['designation'];
echo $name;
mysqli_stmt_execute($st);
}
}
}
mysqli_close($con);
?>
上述代码仅适用于一个 JSON 对象,假设我的文件中有多个 JSON 对象,然后它会抛出类似的错误。
警告:为 foreach() 提供的参数无效 C:\xampp\htdocs\jumadi\b\c\index2.php 在第 25 行
【问题讨论】:
-
你能编辑 Jason 文件吗?