Ik heb als test de volgende code geprobeerd.:


$mysqli1 = new mysqli('localhost','root','xxxxxx','xxxxxx');
                    $myArray1 = array();


                    if ($result1 = $mysqli1->query("SELECT RMFR,RMFRMin,RMFRMax FROM specsv1 where RNaam = '$aCountries[$i]'")) {
                    $tempArray1 = array();


                    while($row1 = $result1->fetch_object()) {
                        $tempArray1 = $row1;
                        if(!$myArray1) $tempArray1; //alleen bij 1e record
                        array_push($myArray1, $tempArray1);
                        }

                       

                        print json_encode($myArray1)."</BR>";
                        $fp1 = fopen('resultstestMFRSPEC.json', 'w');
                        fwrite($fp1, json_encode($myArray1,JSON_NUMERIC_CHECK));
                        fclose($fp1);
                    }

                    $result1->close();
                    $mysqli1->close();


de regel die hij wegschrijft is bv.: [{"RMFR":"16.00","RMFRMin":"14.00","RMFRMax":"18.00"}]
deze word ook mooi in het scherm getoond en op de juiste wijze in de file.
Nu vroeg ik mij af of het mogelijk zou zijn op het geen dat hij in het scherm toont iets mooier te maken met bv. str_replace, dus had ik in bovenstaande code het volgende erbij geplaatst.:

 //tekst mooier maken
 $newline = str_replace('[{"', '', $myArray1);
 print json_encode($newline )."</BR>";


echter hij blijft mij hetzelfde tonen er gebeurd niets met die lijn terwijl ik zou verwachten dat hij dan dit zou moeten tonen.: RMFR":"16.00","RMFRMin":"14.00","RMFRMax":"18.00"}]

Wat zie ik over het hoofd?
Want wat ik eigenlijk wil zien is dit RMFR=16.00 RMFRMin=14.00 RMFRMax=18.00
@Pascal, lees je weleens andere draadjes op dit forum of ben je alleen met je eigen vraagstukken bezig? Daar ligt namelijk (zij het met enige verbeelding) de oplossing voor het oprapen.
Nou ik zoek via google en die komt met een hoop voorbeelden, waar je wel of geen nut aan hebt, dus ja ik zoek erg vaak om te weten hoe het moet, hoe het in elkaar steekt enz.
Dus ik vind het knap vervelend als ik word beschouwd als iemand die antwoorden wil zien.
Als ik nu zou zeggen , dat ik alleen antwoorden wil zien, zonder dat ik zelf eens een code voorbeeld neerzet, dan kan ik dat wel begrijpen, maar ik plaats ze wel en probeer ook en als ik het plaatst dat ik het niet weet, dan heb ik het ook geprobeerd.

@Ariën ja voor een gedeelte wel.
Echter ik zit met die rare tekens [{ die krijg ik niet eruit gefilterd.

Net als de volgende code , die werkt als ik de waarde erin stop maar lees ik die uit myarray gebeurd niks.

$json1 = '[{"Datum":"10-2-2019 01:38:00","MVRml10ml":1.255,"valueField":"MVRml10ml"},{"Datum":"10-2-2019 03:28:35","MVRml10ml":1.253},{"Datum":"10-2-2019 05:25:43","MVRml10ml":1.268},{"Datum":"10-2-2019 10:37:47","MVRml10ml":1.276},{"Datum":"10-2-2019 12:40:12","MVRml10ml":1.318},{"Datum":"10-2-2019 14:33:35","MVRml10ml":1.29},{"Datum":"23-01-2019 05:49:29","MVRml10ml":1.325},{"Datum":"28-01-2019 11:32:04","MVRml10ml":1.342},{"Datum":"28-01-2019 13:37:24","MVRml10ml":1.358},{"Datum":"28-01-2019 15:43:53","MVRml10ml":1.33},{"Datum":"28-01-2019 18:30:41","MVRml10ml":1.311},{"Datum":"28-01-2019 19:16:03","MVRml10ml":1.284},{"Datum":"28-01-2019 21:37:41","MVRml10ml":1.266},{"Datum":"28-01-2019 23:59:42","MVRml10ml":1.301},{"Datum":"29-01-2019 02:19:28","MVRml10ml":1.3},{"Datum":"29-01-2019 03:52:47","MVRml10ml":1.286},{"Datum":"29-01-2019 06:22:53","MVRml10ml":1.263},{"Datum":"5-2-2019 21:30:42","MVRml10ml":1.27},{"Datum":"9-2-2019 12:20:03","MVRml10ml":1.238},{"Datum":"9-2-2019 14:08:09","MVRml10ml":1.251},{"Datum":"9-2-2019 16:10:19","MVRml10ml":1.187},{"Datum":"9-2-2019 18:27:41","MVRml10ml":1.203},{"Datum":"9-2-2019 20:25:44","MVRml10ml":1.21},{"Datum":"9-2-2019 22:24:50","MVRml10ml":1.19},{"Datum":"9-2-2019 23:55:16","MVRml10ml":1.281}]';

$waarde= json_decode($json1);
// access property of object in array
echo "MVRml10ml = ".$waarde[1]->MVRml10ml."</BR>";
Zucht :p
Je MOET niet filteren. Alleen je array uitlezen!

Je hebt een array die '0' als index, en een waarde met RMFRMin etc....

Ik krijg bij de echo dit te zien :

MVRml10ml = 1.253
Why do I even bother?

Speel eens wat met het volgende:
<?php
header('Content-Type: text/html; charset=UTF-8');

function dump($in) {
    if (is_array($in)) {
        $in = print_r($in, true);
    }
    echo '<pre>'.escape($in).'</pre>';
}

function escape($in) {
    return htmlspecialchars($in, ENT_QUOTES, 'UTF-8');
}

$json = '[{"Datum":"10-2-2019 01:38:00","MVRml10ml":1.255,"valueField":"MVRml10ml"},{"Datum":"10-2-2019 03:28:35","MVRml10ml":1.253},{"Datum":"10-2-2019 05:25:43","MVRml10ml":1.268},{"Datum":"10-2-2019 10:37:47","MVRml10ml":1.276},{"Datum":"10-2-2019 12:40:12","MVRml10ml":1.318},{"Datum":"10-2-2019 14:33:35","MVRml10ml":1.29},{"Datum":"23-01-2019 05:49:29","MVRml10ml":1.325},{"Datum":"28-01-2019 11:32:04","MVRml10ml":1.342},{"Datum":"28-01-2019 13:37:24","MVRml10ml":1.358},{"Datum":"28-01-2019 15:43:53","MVRml10ml":1.33},{"Datum":"28-01-2019 18:30:41","MVRml10ml":1.311},{"Datum":"28-01-2019 19:16:03","MVRml10ml":1.284},{"Datum":"28-01-2019 21:37:41","MVRml10ml":1.266},{"Datum":"28-01-2019 23:59:42","MVRml10ml":1.301},{"Datum":"29-01-2019 02:19:28","MVRml10ml":1.3},{"Datum":"29-01-2019 03:52:47","MVRml10ml":1.286},{"Datum":"29-01-2019 06:22:53","MVRml10ml":1.263},{"Datum":"5-2-2019 21:30:42","MVRml10ml":1.27},{"Datum":"9-2-2019 12:20:03","MVRml10ml":1.238},{"Datum":"9-2-2019 14:08:09","MVRml10ml":1.251},{"Datum":"9-2-2019 16:10:19","MVRml10ml":1.187},{"Datum":"9-2-2019 18:27:41","MVRml10ml":1.203},{"Datum":"9-2-2019 20:25:44","MVRml10ml":1.21},{"Datum":"9-2-2019 22:24:50","MVRml10ml":1.19},{"Datum":"9-2-2019 23:55:16","MVRml10ml":1.281}]';

dump(json_decode($json, true));
?>

Dat is je structuur.

Brei hiermee een foreach ofzo.

Succes.
Ik snap wat jullie bedoelen.
Mijn vraag nu is....

in deze code.:

 $json2 = $myArray;
 $json1 = '[{"RMFR":"0.80","RMFRMin":"0.55","RMFRMax":"1.05"}]';


waarom zie ik wel de data van $json1 als ik die wil tonen , maar waarom zie ik die van $json2 niet?
Wat wil je nu? De data als array gebruiken? Gebruik dan true in json_decode.

En wat doet $myArray?
$json1 is een string in het JSON-formaat.

$json2 is (waarschijnlijk?) een array. (uit dat oogpunt is de naamgeving voor deze variabele ook niet echt fantastisch...)

Op het moment dat je data naar output stuurt gebeurt dit doorgaans (altijd?) in string-formaat. Je kunt een array niet direct weergeven.
@Pascal verdiep je ook even in het doel van JSON. Dit formaat is niet in het leven geroepen om 'ns te gaan verwerken in PHP. Tenminste, niet anders dan na een json_decode.

(Tip: de JS staat voor JavaScript, de taal van de browsers.)
Wat @Nick zegt klopt, ik had het oorspronkelijke bericht niet goed gelezen.

JSON is een gegevensformaat en is niet direct bestemd voor weergave maar is meer bedoeld voor makkelijke (en laagdrempelige) gestructureerde gegevensoverdracht, bijvoorbeeld als alternatief voor XML.

Je gebruikt JSON in principe nooit rechtstreeks om informatie weer te geven.

Een proces dat JSON afhandelt zal deze gegevens dus om moeten zetten in een (beter) leesbare variant. Dit omvat dus altijd een vertaalstap.

Reageren