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
Jan 18, 2026 04:02Josu San MartinJosu San MartinCPPclang++18.1.3Success9,617
Jan 18, 2026 04:01Josu San MartinJosu San MartinCPPg++13.3.0Success8,958+9.51 RP
Jan 18, 2026 03:53Josu San MartinJosu San MartinCPPg++13.3.0Error+608.85 RP
Dec 30, 2025 13:17Yehor BondarYehor BondarGOgo1.25.5Success1,003,001+9.97 RP
Dec 24, 2025 09:27AnSaAnSaCPPg++13.3.0Success6,576
Dec 24, 2025 09:16AnSaAnSaCPPg++13.3.0Success3,743
Dec 24, 2025 09:11AnSaAnSaCPPg++13.3.0Error
Dec 24, 2025 08:55AnSaAnSaCPPg++13.3.0Error
Dec 24, 2025 04:17Josu San MartinJosu San MartinCPPclang++18.1.3Success20,082+1.61 RP
Dec 24, 2025 03:54Josu San MartinJosu San MartinCPPg++13.3.0Success25,868
Dec 24, 2025 03:48Josu San MartinJosu San MartinGOgo1.25.5Success34,688
Dec 24, 2025 03:41Josu San MartinJosu San MartinGOgo1.25.5Success41,630
Dec 24, 2025 03:33Josu San MartinJosu San MartinGOgo1.25.5Success34,415
Dec 24, 2025 03:32Josu San MartinJosu San MartinGOgo1.25.5Success37,479
Dec 24, 2025 03:21Josu San MartinJosu San MartinRUSTrust-1.92.0Success20,147+1.96 RP
Dec 24, 2025 03:15Josu San MartinJosu San MartinRUSTrust-1.92.0Success20,227+14.52 RP
Dec 24, 2025 01:24Josu San MartinJosu San MartinCPPg++13.3.0Success26,282
Dec 24, 2025 01:24Josu San MartinJosu San MartinCPPg++13.3.0Success28,186
Dec 24, 2025 01:21Josu San MartinJosu San MartinCPPclang++18.1.3Error+157.64 RP
Dec 24, 2025 01:15Josu San MartinJosu San MartinCPPg++13.3.0Error+322.23 RP
Dec 23, 2025 20:35AnSaAnSaCPPclang++18.1.3Success3,853
Dec 23, 2025 20:31AnSaAnSaCPPclang++18.1.3Success3,809
Dec 23, 2025 20:30AnSaAnSaCPPg++13.3.0Success4,101
Dec 23, 2025 20:25AnSaAnSaCPPg++13.3.0Success4,123
Dec 23, 2025 20:13AnSaAnSaCPPg++13.3.0Success4,077
Dec 23, 2025 20:11AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 19:58AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 19:46AnSaAnSaCPPg++13.3.0Success3,799
Dec 23, 2025 19:43AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 19:39AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 19:27AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 18:30AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 18:28AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 18:24AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 18:20AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 18:18AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 18:16AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 18:12AnSaAnSaCPPg++13.3.0Error
Dec 23, 2025 16:50Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 23, 2025 15:37Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 23, 2025 15:33Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 23, 2025 15:15Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 23, 2025 15:09Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 23, 2025 15:02Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 23, 2025 14:55Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 23, 2025 14:55Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 23, 2025 14:48Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Nov 21, 2025 07:09Martin StensgårdMartin StensgårdCPPg++13.3.0Error
Nov 21, 2025 07:03Martin StensgårdMartin StensgårdGOgo1.25.4Success1,008,108+9.92 RP
Nov 20, 2025 18:04izotoffizotoffGOgo1.25.4Success1,001,852+9.98 RP
Nov 19, 2025 17:56Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Error
Nov 19, 2025 17:55Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Error
Aug 19, 2025 20:53Aniruddha DebAniruddha DebCPPclang++18.1.3Error+37.30 RP
Aug 19, 2025 19:40Aniruddha DebAniruddha DebCPPg++13.3.0Error
Jul 12, 2025 13:18Aniruddha DebAniruddha DebCPPg++13.3.0Error+185.80 RP
Jun 21, 2025 21:10Aniruddha DebAniruddha DebCPPg++13.3.0Error+1'493.11 RP
May 31, 2025 15:33KeefeKeefeCPPclang++18.1.3Error+100.77 RP
May 31, 2025 15:33KeefeKeefeCPPg++13.3.0Success21,294+7.64 RP
May 23, 2025 18:26KeefeKeefeCPPg++13.3.0Error
May 23, 2025 18:24KeefeKeefeCPPg++13.3.0Error
May 23, 2025 18:16KeefeKeefeCPPg++13.3.0Error
May 23, 2025 18:15KeefeKeefeCPPg++13.3.0Error
May 23, 2025 18:13KeefeKeefeCPPg++13.3.0Error
May 1, 2025 23:58KeefeKeefeCPPg++13.3.0Success22,014
May 1, 2025 11:48KeefeKeefeCPPg++13.3.0Success31,895
May 1, 2025 11:43KeefeKeefeCPPg++13.3.0Error
May 1, 2025 11:36KeefeKeefeCPPg++13.3.0Error
May 1, 2025 11:12KeefeKeefeCPPg++13.3.0Success21,648
May 1, 2025 11:07KeefeKeefeCPPg++13.3.0Error+93.49 RP
May 1, 2025 11:06KeefeKeefeCPPg++13.3.0Success40,160
May 1, 2025 11:04KeefeKeefeCPPg++13.3.0Error
May 1, 2025 11:02KeefeKeefeCPPg++13.3.0Error
May 1, 2025 11:02KeefeKeefeCPPg++13.3.0Error
May 1, 2025 10:56KeefeKeefeCPPg++13.3.0Error
May 1, 2025 01:17KeefeKeefeCPPg++13.3.0Error
May 1, 2025 01:02KeefeKeefeCPPg++13.3.0Error+129.02 RP
May 1, 2025 01:01KeefeKeefeCPPg++13.3.0Error
May 1, 2025 00:50KeefeKeefeCPPg++13.3.0Error+85.95 RP
Apr 30, 2025 23:35Aniruddha DebAniruddha DebCPPg++13.3.0Error+15.37 RP
Apr 30, 2025 23:29Aniruddha DebAniruddha DebCPPg++13.3.0Error+1'548.86 RP
Apr 30, 2025 23:20Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 30, 2025 23:19Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 30, 2025 22:52Aniruddha DebAniruddha DebCPPg++13.3.0Success100,811
Apr 30, 2025 22:41Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 30, 2025 22:40Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 30, 2025 22:39Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 30, 2025 22:38Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 30, 2025 22:35Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 30, 2025 22:34Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 30, 2025 22:32Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 30, 2025 18:11Aniruddha DebAniruddha DebCPPg++13.3.0Success101,153
Apr 30, 2025 18:08Aniruddha DebAniruddha DebCPPg++13.3.0Success101,177
Apr 30, 2025 17:42Aniruddha DebAniruddha DebCPPg++13.3.0Success100,018
Apr 29, 2025 08:31etherealetherealGOgo1.24.2Success62,633+159.66 RP
Apr 28, 2025 15:13etherealetherealGOgo1.24.2Error
Apr 28, 2025 15:11etherealetherealGOgo1.24.2Error
Apr 22, 2025 18:05Aniruddha DebAniruddha DebCPPg++13.3.0Error+100.22 RP
Apr 22, 2025 18:03Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 22, 2025 18:01Aniruddha DebAniruddha DebCPPg++13.3.0Error
Apr 22, 2025 17:59Aniruddha DebAniruddha DebCPPg++13.3.0Error