1

This is my json file maps.json

[{
"type": "FeatureCollection",
"name": "maps",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
"features": [
{ "type": "Feature", "properties": 
    { "IDLo": "1", "SoHieu": "1-1", "KyHieu": "C", "TenLo": "C1-1", "TenCty": "CMC Data Center"}, 
    "geometry": { "type": "Polygon", "coordinates": [ [ [ 106.791800519464871, 10.854928689692501 ], 
                                                        [ 106.792069337729856, 10.855930098557222 ], 
                                                        [ 106.792653322236532, 10.855766231881775 ], 
                                                        [ 106.79231961680415, 10.854783029941672 ], 
                                                        [ 106.791800519464871, 10.854928689692501 ] ] ] } },

{ "type": "Feature", "properties": 
    { "IDLo": "2", "SoHieu": "1-2", "KyHieu": "C", "TenLo": "C1-2", "TenCty": "ASCENDAS" }, 
    "geometry": { "type": "Polygon", "coordinates": [ [ [ 106.79264868743887, 10.855779887550094 ], 
                                                        [ 106.792064702932166, 10.855943754285464 ], 
                                                        [ 106.791786615071828, 10.854942345054598 ], 
                                                        [ 106.79101723865827, 10.855151730898562 ], 
                                                        [ 106.790461062937595, 10.855306494254153 ], 
                                                        [ 106.789969774384346, 10.855424842648457 ], 
                                                        [ 106.789478485831097, 10.855688850436046 ], 
                                                        [ 106.78819928167357, 10.857819111634392 ], 
                                                        [ 106.790915273109462, 10.859412245764197 ], 
                                                        [ 106.791907119811313, 10.857746282442497 ], 
                                                        [ 106.792111050908886, 10.857518691103408 ], 
                                                        [ 106.792379869173871, 10.857291099590915 ], 
                                                        [ 106.792583800271444, 10.856999782201919 ], 
                                                        [ 106.792732113796944, 10.856544598212894 ], 
                                                        [ 106.792741383392297, 10.856116724630859 ], 
                                                        [ 106.79264868743887, 10.855779887550094 ] ] ] } }

]}]

I don't know how to read it til "TenCty": "CMC Data Center", and how can I replace "CMC Data Center" with something else and save it in maps.json file.

When users submit a form, information will save in MySqli and also save in json file? Is it possible? In javascript or PHP will ok.

This json file is map's information to show in Leaflet, so I must save as json. Any sugguestions? And thanks in advance

  • 1
    in javascript, you need to to JSON.parse that JSON to an Object, then use the simple object manipulation methods to make whatever changes you need, then you can JSON.stringify the object back to JSON if you want ... similarly in PHP, I think the parse/stringify are JSON_decode/JSON_encode – Jaromanda X Aug 2 '18 at 4:33
  • 1
    json-decode – Empty Brain Aug 2 '18 at 4:37
1

You need to complete a couple of steps.

First get the contents of the json file:

$contents = file_get_contents('maps.json');

Then apply json_decode() and convert to array:

$contents_decoded = json_decode($contents, true);

Now you can get "TenCty": "CMC Data Center":

echo $contents_decoded[0]['features'][0]['properties']['TenCty']; //CMC Data Center

You can replace the value:

$contents_decoded[0]['features'][0]['properties']['TenCty'] = 'something else';

Now you can encode the new array:

$contents = json_encode($contents_decoded);
echo $contents;
Output:
[{"type":"FeatureCollection","name":"maps","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},"features":[{"type":"Feature","properties":{"IDLo":"1","SoHieu":"1-1","KyHieu":"C","TenLo":"C1-1","TenCty":"something else"},"geometry":{"type":"Polygon","coordinates":[[[106.79180051946487,10.854928689692501],[106.79206933772986,10.855930098557222],[106.79265332223653,10.855766231881775],[106.79231961680415,10.854783029941672],[106.79180051946487,10.854928689692501]]]}},{"type":"Feature","properties":{"IDLo":"2","SoHieu":"1-2","KyHieu":"C","TenLo":"C1-2","TenCty":"ASCENDAS"},"geometry":{"type":"Polygon","coordinates":[[[106.79264868743887,10.855779887550094],[106.79206470293217,10.855943754285464],[106.79178661507183,10.854942345054598],[106.79101723865827,10.855151730898562],[106.7904610629376,10.855306494254153],[106.78996977438435,10.855424842648457],[106.7894784858311,10.855688850436046],[106.78819928167357,10.857819111634392],[106.79091527310946,10.859412245764197],[106.79190711981131,10.857746282442497],[106.79211105090889,10.857518691103408],[106.79237986917387,10.857291099590915],[106.79258380027144,10.85699978220192],[106.79273211379694,10.856544598212894],[106.7927413833923,10.856116724630859],[106.79264868743887,10.855779887550094]]]}}]}]

The final step is you can put the new contents back to the maps.json file:

file_put_contents('maps.json', $contents);
  • Thanks very much, I did it – Diao Vũ Aug 2 '18 at 6:27
  • @DiaoVũ You're welcome. – Saral Aug 2 '18 at 7:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.