[英]Insert parsed json data into MySQL table
我已經解析了多維數組。 我需要做的最后一件事:將數據插入 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
}
你似乎做得比它需要的要困難得多。 那個 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)";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.