Faced such a problem, when writing to JSON, auto sorting occurs.

Writing to JSON occurs through data retrieval.

QJsonObject json; for (int i = 1; i < path->GetPointCount(); i++) { Vector lonlatalt; path->GetPointLocation(i).GetGeodetic(&lonlatalt); json[QString("waypoint%1").arg(i)] = QString("%1, %2, 0.0").arg(lonlatalt.x, 0, 'f', 5).arg(lonlatalt.y, 0, 'f', 5) } 

What does JSON look like at the end:

 { "waypoint0": "10.01942, 52.94517, 0.0", "waypoint1": "10.01942, 52.94517, 0.0", "waypoint10": "10.00642, 52.94482, 0.0", "waypoint11": "10.01246, 52.94638, 0.0", "waypoint12": "10.00884, 52.94787, 0.0", "waypoint13": "9.99901, 52.94739, 0.0", "waypoint14": "9.99699, 52.94503, 0.0", "waypoint15": "9.99521, 52.94046, 0.0", "waypoint16": "9.99544, 52.93685, 0.0", "waypoint17": "9.99866, 52.93325, 0.0", "waypoint18": "10.00447, 52.93203, 0.0", "waypoint19": "10.01304, 52.93071, 0.0", "waypoint2": "10.02402, 52.94271, 0.0", "waypoint20": "10.01960, 52.93120, 0.0", "waypoint21": "10.02362, 52.93217, 0.0", "waypoint22": "10.02736, 52.93453, 0.0", "waypoint23": "10.02914, 52.93723, 0.0", "waypoint24": "10.03035, 52.94053, 0.0", "waypoint25": "10.03001, 52.94361, 0.0", "waypoint26": "10.02489, 52.94687, 0.0", "waypoint27": "10.02121, 52.94857, 0.0", "waypoint3": "10.02546, 52.94021, 0.0", "waypoint4": "10.02328, 52.93727, 0.0", "waypoint5": "10.01983, 52.93602, 0.0", "waypoint6": "10.01212, 52.93546, 0.0", "waypoint7": "10.00608, 52.93647, 0.0", "waypoint8": "10.00349, 52.93983, 0.0", "waypoint9": "10.00338, 52.94236, 0.0" 

}

What should look like:

 { "waypoint0": "10.01942, 52.94517, 0.0", "waypoint1": "10.01943, 52.94514, 0.0", "waypoint2": "10.02402, 52.94271, 0.0", "waypoint3": "10.02546, 52.94021, 0.0", "waypoint4": "10.02328, 52.93727, 0.0", "waypoint5": "10.01983, 52.93602, 0.0", "waypoint6": "10.01212, 52.93546, 0.0", "waypoint7": "10.00608, 52.93647, 0.0", "waypoint8": "10.00349, 52.93983, 0.0", "waypoint9": "10.00338, 52.94236, 0.0", "waypoint10": "10.00642, 52.94482, 0.0", "waypoint11": "10.01246, 52.94638, 0.0", "waypoint12": "10.00884, 52.94787, 0.0", "waypoint13": "9.99901, 52.94739, 0.0", "waypoint14": "9.99699, 52.94503, 0.0", "waypoint15": "9.99521, 52.94046, 0.0", "waypoint16": "9.99544, 52.93685, 0.0", "waypoint17": "9.99866, 52.93325, 0.0", "waypoint18": "10.00447, 52.93203, 0.0", "waypoint19": "10.01304, 52.93071, 0.0", "waypoint20": "10.01960, 52.93120, 0.0", "waypoint21": "10.02362, 52.93217, 0.0", "waypoint22": "10.02736, 52.93453, 0.0", "waypoint23": "10.02914, 52.93723, 0.0", "waypoint24": "10.03035, 52.94053, 0.0", "waypoint25": "10.03001, 52.94361, 0.0", "waypoint26": "10.02489, 52.94687, 0.0" } 

    0