Sequence of tags and data per Icon

Why are you changing the sequence of tags and value?

This is how an Icon looks now:

{"type": "Feature", "id": 1165092823, "geometry": {"type": "Point", "coordinates": [-66.122687, 6.965057]}, "properties": {"marker-symbol": "cinema", "group": 384847715, "marker-color": "#52b839", "description": "Bundesliga #19: Borussia Dortmund vs. SC Freiburg \n Venezuela: Star+ \n [Sat, 04.Feb.2023 10:30]", "title": "📺 Venezuela"}},

This is how it was last week:

{"type": "Feature", "id": 1165092823, "geometry": {"type": "Point", "coordinates": [-66.122687, 6.965057]}, "properties": {"title": "📺 Venezuela", "marker-color": "#52b839", "description": "Bundesliga #18: Bayer 04 Leverkusen vs. Borussia Dortmund \n Venezuela: Star+, ESPN2 \n [Sun, 29.Jan.2023 12:30]", "marker-symbol": "cinema", "group": 384847715}},

I have scripts running on this, that basically checks where for example the description starts and where it ends. This worked fine with searching for “marker-symbol”, but now it says “title” instead.

Whats the reason for the resorting of the sequence? I am asking as this is not the first time it happened.

There was no change to MapHub at all. That order is basically random, it can change any time.

It’s called JSON and you are referring to keys in a JSON object.

The important thing is not to parse it by looking at the string. Look in to “JSON parsing” in your language, and it’ll be very simple. What language do you use?

For example here is an example in PHP:

$json = '{"type": "Feature", "id": 1165092823, "geometry": {"type": "Point", "coordinates": [-66.122687, 6.965057]}, "properties": {"marker-symbol": "cinema", "group": 384847715, "marker-color": "#52b839", "description": "Bundesliga #19: Borussia Dortmund vs. SC Freiburg \n Venezuela: Star+ \n [Sat, 04.Feb.2023 10:30]", "title": "📺 Venezuela"}}';

$data = json_decode($json, true);

// access the values
$type = $data['type'];
$id = $data['id'];
$geometry_type = $data['geometry']['type'];
$coordinates = $data['geometry']['coordinates'];
$marker_symbol = $data['properties']['marker-symbol'];
$group = $data['properties']['group'];
$marker_color = $data['properties']['marker-color'];
$description = $data['properties']['description'];
$title = $data['properties']['title'];

it’s a combination.
Basically I read out the current map as JSON file. Break it by lines, and import it to a google sheets, that replaces some parts of the current values with new values.
in this case what match is shown in a country, tv station and local time. I get all this new info from the excel sheet. This then creates a new JSON file that I then upload again. Usually it works fine, like for many month, but last week the order of the JSON Objects changed.
Basically I use the mid() function to find certain value and then I replace it with something. There fore I need to know when the next JSON Objects starts.

I got it to work again, I was just wondering if this was done on purpose. Would be good if the sequence of all objects stays the same.

Edit: Oh and then I use python to upload the JSON file again

I think your workflow is good, but I’d tweak the first part a bit so that it doesn’t give you strings but parses the JSONs. You’ll need to parse the JSONs in a real programming language first, and only export some very clean data to Excel or CSV afterwards. That way it’ll work.

The important thing is that the order can change any time. Maybe it’ll change next week, maybe multiple times per day. It’s not guaranteed to have any fixed order.