Member-only story
Rust XML to JSON and Back: A Migration Tale of Refrigerated Haulage Data
This article is open to everyone, non-members can access it via this link
We’ve all been there. You’re working on a modern system that speaks JSON, but your legacy API insists on spitting out XML like it’s still 1999. Unfortunately, you can’t change it. Worse yet, performance is absolutely critical — this isn’t just some batch job; this is real-time temperature monitoring for refrigerated haulage trucks.
I had exactly this problem, and after weighing my options (crying, pretending it wasn’t my problem, and actually solving it), I turned to Rust. Why? Because Rust is blazingly fast, memory-efficient, and makes me feel like a wizard when everything compiles.
Here’s how I built a super-efficient XML-to-JSON and JSON-to-XML transformation layer using serde, quick-xml, and serde_json.
Our payload consists of time-series data from refrigerated trucks, including:
- Timestamp
- Ambient Temperature
- 5 Internal Sensors
A sample XML payload looked like this (the actual payload was far more complex however the approach is the same).
<data>
<timestamp>2025–03–04T12:00:00Z</timestamp>
<ambient_temp>-5.2</ambient_temp>
<sensors>…