我已经解析了多维数组。我需要做的最后一件事:将数据插入mysql表,另一件事是我想知道如何将多维数组实际插入表,我应该使用第二个$ sql查询和另一个表吗? 在下面的示例中,我仅使用了三个变量“ id,main,icon”,当然需要打包它们。感谢您的帮助。谢谢
$jsonIterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator(json_decode($data, TRUE)),
RecursiveIteratorIterator::SELF_FIRST);
foreach($jsonIterator as $key=>$value)
{
$query = "INSERT INTO json1 (id, main, icon) VALUES (
'".$key["coord"]."',
'".$key["lon"]."',
'".$key["lat"]."'); ";
if(is_array($value))
{ echo "$key:\n"; }
else
{ echo "$key => $value\n"; }
}
这是我的json文件
{
"coord": {
"lon": 22,
"lat": 50.04
},
"weather": [{
"id": 804,
"main": "Clouds",
"description": "overcast clouds",
"icon": "04n"
}],
"base": "stations",
"main": {
"temp": 267.15,
"pressure": 1007,
"humidity": 79,
"temp_min": 267.15,
"temp_max": 267.15
},
"visibility": 10000,
"wind": {
"speed": 4.6,
"deg": 50
},
"clouds": {
"all": 90
},
"dt": 1548271800,
"sys": {
"type": 1,
"id": 1711,
"message": 0.0097,
"country": "UK",
"sunrise": 1548224204,
"sunset": 1548256302
},
"id": 759734,
"name": "London",
"cod": 200
}
答案 0 :(得分:0)
您似乎正在使这项工作变得比原本要困难得多。该JSON文件中没有数组,它只是一个对象,因此没有要迭代的内容。您也不需要递归迭代器。
$array = json_decode($data, true);
$id = $array['id'];
$lon = $array['coord']['lon'];
$lat = $array['coord']['lat'];
$query = "INSERT INTO json1 (id, main, icon) VALUES ($id, $lon, $lat)";