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

2
  • 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 Commented Aug 2, 2018 at 4:33
  • 1
    json-decode Commented Aug 2, 2018 at 4:37

1 Answer 1

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);
Sign up to request clarification or add additional context in comments.

1 Comment

Thanks very much, I did it

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.