Leaflet's default projection is EPSG:3857, also known as "Google Mercator" or "Web Mercator" and sometimes designated with the number "900913". This projection is what most slippy tile based maps use, including the common tile sets from Google, Bing, OpenStreetMap, and others. You can easily use this projection in QGIS by selecting "Google Mercator EPSG:900913".
Leaflet has some basic support for displaying maps in other projections. Most folks who do that seem to use the addon Proj4Leaflet to perform the projection.
Note that I am not a MapBox software user, but looking at the MapBox sample GeoJSON file you pointed out in Visual Studio, it appears the "crs" warning is related to the Coordinate Reference System element of the GeoJSON, at the very top of the file.
It might be that MapBox changed the import format specification, but forgot to update the sample file. I would recommend reporting it back to them using the "Ask our support team" link on the page hosting the sample file.
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
},
As to the problem: I would suggest to try and remove the CRS reference by using a text editor and subsequently try the import again. As said, I am not familiar with MapBox software, but I guess you will be able to define the CRS after the import in the software itself.
Be careful when editing the file, make sure the comma's and brackets are properly removed for the CRS object only! The top part of the MapBox sample GeoJSON should probably look like this:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"name": "Van Dorn Street",
"marker-color": "#0000ff",
"marker-symbol": "rail-metro",
"line": "blue"
},
"geometry": {
"type": "Point",
"coordinates": [
-77.12911152370515,
38.79930767201779
]
}
},
So the "type": "FeatureCollection", at the very top should most likely stay, as it is a separate object before the CRS definition.
Best Answer
There are couple of things which you might not know, which is causing all this issue.
Firstly the GeoJSON is supposed to have coordinates in longitude, latitude order. This can be seen in the specifications, which says:
Secondly, the Question which you have linked is actually about a different issue. That question deals with reading GML correctly, when it contains coordinates in latitude-longitude format. Hence the answers on it won't really help you.
Now coming to your issue. You need your data in a particular format. Looking at the code that you have posted, the geometry is expected in the following format:
If you look at this format, you'll see that even though this data looks like JSON, neither is it valid JSON, nor does it come even close to any formal GeoJSON.
Hence it really won't help you, even if we manage to produce GeoJSON with coordinates in latitude, longitude order.
So how do we solve your problem? Unfortunately, there isn't one easy solution. Some custom code will be required, or manual editing, none of which is really scales well.
You might best be served by getting the code re-written.