v2.5.2
Giriş yap

.json uzantılı veri dosyası Null döndürüyor.

baylaribrahimov
647 defa görüntülendi

Herkese Merhaba Bana verileri veritabanına yazmam için .json uzantılı dosya verdiler.
içeriği şöyle

 
 {"_id":{"$oid":"5ac440ae603afc1b88c4f83c"},
 "Brand":"Abarth","Model":"124 Spider","Generation":"124 Spider","Modification (Engine)":"1.4 MultiAir (170 Hp) Automatic","Doors":"2","Power":"170 hp/5500 rpm.","Maximum speed":"229 km/h",
 "Acceleration 0 - 100 km/h":"6.9 sec","Year of putting into production":"2016 year","Coupe type":"Cabriolet","Seats":"2","Length":"4054 mm.","Width":"1740 mm.","Height":"1233 mm.","Wheelbase":"2310 mm.",
 "Front track":"1496 mm.","Rear (Back) track":"1503 mm.","Minimum volume of Luggage (trunk)":"45 l","Position of engine":"Front, transversely","Engine displacement":"1368 cm3","Torque":"250 Nm/2500 rpm.","Turbine":"Turbocharging","Position of cylinders":"Inline","Number of cylinders":"4","Cylinder Bore":"72 mm.",
 "Piston Stroke":"84 mm.","Compression ratio":"9.8","Number of valves per cylinder":"4","Fuel Type":"Petrol (Gasoline)","Drive wheel":"Rear wheel drive","Number of Gears (automatic transmission)":"6","Front suspension":"Double wishbone","Rear suspension":"Multi-link independent","ABS":"yes","Steering type":"Steering rack",
 "Power steering":"Electric Steering","Minimum turning circle (turning diameter)":"9.4 m","Fuel consumption (economy) - urban":"9.1 l/100 km.","Fuel consumption (economy) - extra urban":"5.1 l/100 km.",
 "Fuel consumption (economy) - combined":"6.6 l/100 km.","Emission standard":"EURO VI","CO2 emissions":"153 g/km","Kerb Weight":"1060 kg."}


Bu sadece bir satırı.

bende bu datayı parse edib database-e yaza bilmek için
aşağıdakı php kodunu kullandım.

<?php
$json = file_get_contents("database.json");

$car = json_decode($json,true);

var_dump($car)  ;

?>

Sorun şuki responce olarak Null döndürüyor.Ve nedenini anlayamadım.

Cevap yaz
Cevaplar (3)
webdevyusuf
1510 gün önce

Öncelikle Merhaba bence hiç uğraşma php ile direk javascript ile çek sonra eğer işin php ileyse
javascript ile gönder hem hızlı olur hemde php sürümünü güncelleyemiyorsan zorundada kalmassın.

Örnek:

// ben fetch ile çekicem
fetch("json/test.json", {
    method: "get"
})
.then(res => res.json())
.then(ans => {
    console.log(ans);
})
.catch(console.error);

bu veriyi çekmek içindi şimdi ise php'ye gönderelim

// tekrar fetch kullanıcam
fetch("php/veri.php", {
    method: "post",
    body: JSON.stringify(gonderilecek_veri)
})
.then(res => res.text())
.then(ans => {
    console.log(ans);
})
.catch(console.error);

Şimdide php'ye veri gelince işlemi yapalım ve geri döndürelim

<?php

// veriyi aldık
$veri = json_decode(file_get_contents("php://input"), true);

/*

İşlemler yapıldı
...
...
...

...
...
...
...

*/

// işlem bitti ve veriyi gönderdik
echo "işlem sonucu";

?>

Eğer kaynak arıyorsan Tayfun Abi'nin sayfasında var.
Link: http://www.erbilen.net/php-ve-json/

İyi çalışmalar...

webdevyusuf
1510 gün önce

Öncelikle Merhaba bence hiç uğraşma php ile direk javascript ile çek sonra eğer işin php ileyse
javascript ile gönder hem hızlı olur hemde php sürümünü güncelleyemiyorsan zorundada kalmassın.

Örnek:


// ben fetch ile çekicem
fetch("json/test.json", {
    method: "get"
})
.then(res => res.json())
.then(ans => {
    console.log(ans);
})
.catch(console.error);

bu veriyi çekmek içindi şimdi ise php'ye gönderelim


// tekrar fetch kullanıcam
fetch("php/veri.php", {
    method: "post",
    body: JSON.stringify(gonderilecek_veri)
})
.then(res => res.text())
.then(ans => {
    console.log(ans);
})
.catch(console.error);

Şimdide php'ye veri gelince işlemi yapalım ve geri döndürelim

<?php

// veriyi aldık
$veri = json_decode(file_get_contents("php://input"), true);

/*

İşlemler yapıldı
...
...
...

...
...
...
...

*/

// işlem bitti ve veriyi gönderdik
echo "işlem sonucu";

?>

Eğer kaynak arıyorsan Tayfun Abi'nin sayfasında var.
Link: http://www.erbilen.net/php-ve-json/

tahakocak
1513 gün önce

Öncelikle merhaba,
Kendi localimde denedim. Herhangi bir sorun yok bana jsonı bana array olarak dönderiyor. Ben PHP 7.3'de denedim. Sorun sizde olabilir.