XML to JSON Sergey Svistunov

Convert 1,000,000 person records from XML to JSON as fast as possible.

Input

XML document on STDIN:

<?xml version="1.0" encoding="UTF-8"?>
<persons>
    <person id="1512376">
        <age>30</age>
        <height>169.1</height>
        <married>true</married>
        <phone code="+6"><number>1283603279</number></phone>
        <phone code="+6"><number>1659964668</number></phone>
    </person>
    ...
</persons>

Output

One JSON object per person to STDOUT, preserving order:

{
    "id": 1512376,
    "age": 30,
    "height": 169.1,
    "married": true,
    "phones": [
        {
            "code": "+6",
            "number": 1283603279
        },
        {
            "code": "+6",
            "number": 1659964668
        }
    ]
}

Constraints

  • Preserve the order of persons
  • Omit the phones field if the phone array is empty
  • Maximum number of phones per person is 3
Date AuthorLanguageStatus Score
May 3, 2026 18:27TudyMTudyMCPPclang++20.1.2Success8,378
May 3, 2026 18:20TudyMTudyMCPPclang++20.1.2Success8,376
May 3, 2026 18:14TudyMTudyMCPPclang++20.1.2Success8,374
May 3, 2026 18:07TudyMTudyMCPPclang++20.1.2Success8,388
May 3, 2026 17:59TudyMTudyMCPPclang++20.1.2Success8,512
May 3, 2026 17:52TudyMTudyMCPPclang++20.1.2Success8,372+22.12 RP
May 3, 2026 17:45TudyMTudyMCPPclang++20.1.2Success8,557
May 3, 2026 17:39TudyMTudyMCPPclang++20.1.2Success8,579
May 3, 2026 17:32TudyMTudyMCPPclang++20.1.2Success8,530+1.92 RP
May 3, 2026 17:25TudyMTudyMCPPclang++20.1.2Success8,567
May 3, 2026 17:19TudyMTudyMCPPclang++20.1.2Success8,544+2.19 RP
May 3, 2026 17:12TudyMTudyMCPPclang++20.1.2Success8,734
May 3, 2026 17:06TudyMTudyMCPPclang++20.1.2Success8,574
May 3, 2026 16:56TudyMTudyMCPPclang++20.1.2Success8,582
May 3, 2026 16:45TudyMTudyMCPPclang++20.1.2Success8,574
May 3, 2026 16:35TudyMTudyMCPPclang++20.1.2Success8,660
May 3, 2026 16:24TudyMTudyMCPPclang++20.1.2Success8,560+11.22 RP
May 3, 2026 16:08TudyMTudyMCPPclang++20.1.2Success8,660
May 3, 2026 15:59Victor MerckléVictor MerckléCPPg++14.2.0Success3,291+614.94 RP
May 3, 2026 15:56TudyMTudyMCPPclang++20.1.2Success8,643+10.35 RP
May 3, 2026 15:45TudyMTudyMCPPclang++20.1.2Success9,257
May 3, 2026 15:34TudyMTudyMCPPclang++20.1.2Success8,849
May 3, 2026 15:22TudyMTudyMCPPg++10.5.0Success12,826
May 3, 2026 15:11TudyMTudyMCPPclang++20.1.2Success8,746
May 3, 2026 15:01TudyMTudyMCPPclang++20.1.2Success8,721+263.66 RP
May 3, 2026 14:51TudyMTudyMCPPg++14.2.0Success11,345
May 3, 2026 14:41TudyMTudyMCPPg++14.2.0Success11,325+39.97 RP
May 3, 2026 14:29TudyMTudyMCPPg++14.2.0Success12,139
May 3, 2026 14:23TudyMTudyMCPPg++14.2.0Success12,106
May 3, 2026 13:50TudyMTudyMCPPg++14.2.0Success11,862+137.21 RP
May 1, 2026 11:45Victor MerckléVictor MerckléCPPg++14.2.0Success4,974
May 1, 2026 11:31Victor MerckléVictor MerckléCPPg++14.2.0Success7,476
May 1, 2026 11:17Victor MerckléVictor MerckléCPPg++14.2.0Success4,126+46.10 RP
May 1, 2026 09:51Victor MerckléVictor MerckléCPPg++14.2.0Success4,206+50.89 RP
May 1, 2026 06:28olliecrowolliecrowCPPg++10.5.0Success6,504
May 1, 2026 02:23Charles CabergsCharles CabergsCPPclang++19.1.1Success4,051
Apr 30, 2026 23:12Charles CabergsCharles CabergsCPPclang++18.1.3Success3,978+12.58 RP
Apr 30, 2026 18:11Charles CabergsCharles CabergsCPPg++14.2.0Success4,067
Apr 30, 2026 15:34Charles CabergsCharles CabergsCPPg++14.2.0Success4,252
Apr 30, 2026 13:07Charles CabergsCharles CabergsCPPg++14.2.0Success4,021
Apr 30, 2026 05:09Charles CabergsCharles CabergsCPPg++14.2.0Success4,007
Apr 30, 2026 04:29olliecrowolliecrowCSHARP9.0.15Success5,753
Apr 30, 2026 04:04olliecrowolliecrowCPPg++10.5.0Success5,293
Apr 29, 2026 23:58Charles CabergsCharles CabergsCPPg++13.3.0Success4,005
Apr 29, 2026 21:29Charles CabergsCharles CabergsCPPg++14.2.0Success3,998+12.45 RP
Apr 29, 2026 15:57Charles CabergsCharles CabergsCPPg++14.2.0Success4,018+28.17 RP
Apr 29, 2026 13:12TudyMTudyMCPPg++14.2.0Success14,168+23.27 RP
Apr 29, 2026 12:52TudyMTudyMCPPg++14.2.0Success14,973
Apr 29, 2026 12:48TudyMTudyMCPPg++14.2.0Success15,213
Apr 29, 2026 12:44TudyMTudyMCPPg++14.2.0Success14,795
Apr 29, 2026 00:10Charles CabergsCharles CabergsCPPg++14.2.0Success4,064+17.43 RP
Apr 28, 2026 21:45Charles CabergsCharles CabergsCPPg++13.3.0Success4,093+53.14 RP
Apr 28, 2026 19:03Charles CabergsCharles CabergsCPPg++13.3.0Success4,184+8.54 RP
Apr 28, 2026 16:28Charles CabergsCharles CabergsCPPg++13.3.0Success4,200
Apr 28, 2026 13:59Charles CabergsCharles CabergsCPPg++13.3.0Success4,204
Apr 28, 2026 10:16TudyMTudyMCPPg++14.2.0Success14,651+0.61 RP
Apr 28, 2026 10:11TudyMTudyMCPPg++14.2.0Success14,664+77.42 RP
Apr 28, 2026 10:07TudyMTudyMCPPg++14.2.0Success16,542+0.33 RP
Apr 28, 2026 10:04TudyMTudyMCPPg++14.2.0Success17,273
Apr 28, 2026 09:59TudyMTudyMCPPg++14.2.0Success16,551+49.01 RP
Apr 28, 2026 09:57TudyMTudyMCPPg++10.5.0Success18,012+197.95 RP
Apr 28, 2026 09:54TudyMTudyMCPPg++10.5.0Error
Apr 28, 2026 08:28Victor MerckléVictor MerckléCPPg++14.2.0Success4,298+419.36 RP
Apr 28, 2026 05:12Victor MerckléVictor MerckléCPPg++14.2.0Success5,243+1'747.47 RP
Apr 28, 2026 05:11Charles CabergsCharles CabergsCPPg++13.3.0Success4,210
Apr 28, 2026 02:53Charles CabergsCharles CabergsCPPg++13.3.0Success4,246
Apr 28, 2026 00:54Charles CabergsCharles CabergsCPPg++13.3.0Success4,199+61.87 RP
Apr 27, 2026 20:40Victor MerckléVictor MerckléCPPg++14.2.0Success63,401
Apr 27, 2026 20:35Victor MerckléVictor MerckléCPPg++14.2.0Success64,028
Apr 27, 2026 20:22Victor MerckléVictor MerckléCPPg++14.2.0Success62,566+159.83 RP
Apr 27, 2026 20:15Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 20:08Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 20:05Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 20:02Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 19:56Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 19:41Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 19:36Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 19:32Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 19:30Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 19:26Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 19:22Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 19:16Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 19:09Victor MerckléVictor MerckléCPPg++14.2.0Error
Apr 27, 2026 10:59Charles CabergsCharles CabergsCPPg++13.3.0Success4,380
Apr 27, 2026 07:07Charles CabergsCharles CabergsCPPg++13.3.0Success4,360
Apr 27, 2026 04:32olliecrowolliecrowCSHARP9.0.15Success6,104
Apr 27, 2026 01:44Charles CabergsCharles CabergsCPPg++13.3.0Success4,311+4.83 RP
Apr 26, 2026 20:40Charles CabergsCharles CabergsCPPg++14.2.0Success4,322
Apr 26, 2026 19:57TudyMTudyMCPPclang++20.1.2Success28,492
Apr 26, 2026 18:33TudyMTudyMCPPg++10.5.0Success27,993+357.23 RP
Apr 26, 2026 18:32TudyMTudyMCPPg++10.5.0Error
Apr 26, 2026 18:29Charles CabergsCharles CabergsCPPg++13.3.0Success4,320+12.26 RP
Apr 26, 2026 17:23TudyMTudyMCPPg++10.5.0Error
Apr 26, 2026 16:43Charles CabergsCharles CabergsCPPg++13.3.0Success4,343+94.56 RP
Apr 25, 2026 22:35Charles CabergsCharles CabergsCPPg++13.3.0Success4,529+93.83 RP
Apr 25, 2026 21:53Charles CabergsCharles CabergsCPPg++13.3.0Error
Apr 25, 2026 09:16olliecrowolliecrowCPPg++10.5.0Success5,613
Apr 25, 2026 06:01Charles CabergsCharles CabergsCPPg++13.3.0Error
Apr 24, 2026 22:29olliecrowolliecrowCPPg++10.5.0Success5,309
Apr 24, 2026 17:14olliecrowolliecrowCSHARP9.0.15Success5,997