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
Mar 4, 2026 00:23olliecrowolliecrowCPPclang++18.1.3Success13,362
Mar 4, 2026 00:19olliecrowolliecrowCPPclang++18.1.3Success11,810+9.22 RP
Mar 4, 2026 00:15olliecrowolliecrowCPPclang++18.1.3Success11,940+6.54 RP
Mar 4, 2026 00:09olliecrowolliecrowCPPclang++18.1.3Success12,034+19.03 RP
Mar 4, 2026 00:00olliecrowolliecrowCPPclang++18.1.3Error+65.91 RP
Mar 3, 2026 23:55olliecrowolliecrowCPPclang++18.1.3Success13,432
Mar 3, 2026 23:51olliecrowolliecrowCPPclang++18.1.3Error+121.24 RP
Mar 3, 2026 23:47olliecrowolliecrowCPPclang++18.1.3Success26,790
Mar 3, 2026 23:42olliecrowolliecrowCPPclang++18.1.3Success36,511
Mar 3, 2026 23:38olliecrowolliecrowCPPclang++18.1.3Error
Mar 3, 2026 23:34olliecrowolliecrowCPPclang++18.1.3Success16,005+0.23 RP
Mar 3, 2026 23:29olliecrowolliecrowCPPclang++18.1.3Error
Mar 3, 2026 23:25olliecrowolliecrowCPPclang++18.1.3Error
Mar 3, 2026 23:18olliecrowolliecrowCPPclang++18.1.3Error
Mar 3, 2026 23:16olliecrowolliecrowCPPclang++18.1.3Error
Mar 3, 2026 23:15olliecrowolliecrowCPPclang++18.1.3Error
Mar 3, 2026 23:07olliecrowolliecrowCPPg++13.3.0Success21,388
Mar 3, 2026 23:01olliecrowolliecrowCPPclang++18.1.3Error
Mar 3, 2026 22:57olliecrowolliecrowCPPclang++18.1.3Error
Mar 3, 2026 22:52olliecrowolliecrowCPPclang++18.1.3Error
Mar 3, 2026 22:46olliecrowolliecrowCPPclang++18.1.3Success16,042
Mar 3, 2026 22:41olliecrowolliecrowCPPclang++18.1.3Success16,030
Mar 3, 2026 22:39olliecrowolliecrowCPPclang++18.1.3Error
Mar 3, 2026 22:38olliecrowolliecrowCPPg++13.3.0Success21,514
Mar 3, 2026 22:36olliecrowolliecrowCPPclang++18.1.3Success16,011+0.97 RP
Mar 3, 2026 22:31olliecrowolliecrowCPPclang++18.1.3Error+2.40 RP
Mar 3, 2026 22:27olliecrowolliecrowCPPclang++18.1.3Error+318.37 RP
Mar 3, 2026 22:24olliecrowolliecrowCPPg++13.3.0Error
Mar 3, 2026 22:21olliecrowolliecrowCPPg++13.3.0Error+302.83 RP
Feb 19, 2026 05:18Josu San MartinJosu San MartinCPPg++13.3.0Error+128.58 RP
Feb 19, 2026 04:46Josu San MartinJosu San MartinCPPg++13.3.0Error+32.95 RP
Jan 23, 2026 16:44Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Jan 23, 2026 03:53Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Jan 23, 2026 03:50Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Jan 23, 2026 03:46Josu San MartinJosu San MartinRUSTrust-1.92.0Error+33.99 RP
Jan 23, 2026 03:39Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Jan 23, 2026 03:36Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Jan 23, 2026 03:36Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Jan 23, 2026 03:26Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Jan 23, 2026 03:03Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Jan 23, 2026 02:55Josu San MartinJosu San MartinRUSTrust-1.92.0Success11,289
Jan 18, 2026 19:05Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 19:05Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 07:15Josu San MartinJosu San MartinCPPg++13.3.0Error+277.40 RP
Jan 18, 2026 07:13Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 07:13Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 07:13Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 07:09Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 07:08Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 07:08Josu San MartinJosu San MartinCPPg++13.3.0Error+24.19 RP
Jan 18, 2026 07:02Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:45Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:45Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:42Josu San MartinJosu San MartinCPPg++13.3.0Success8,420
Jan 18, 2026 06:39Josu San MartinJosu San MartinCPPg++13.3.0Success9,641
Jan 18, 2026 06:39Josu San MartinJosu San MartinCPPg++13.3.0Success9,576
Jan 18, 2026 06:36Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:30Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:25Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:24Josu San MartinJosu San MartinCPPg++13.3.0Error+180.16 RP
Jan 18, 2026 06:20Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:19Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:19Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:18Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:16Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 06:13Josu San MartinJosu San MartinCPPg++13.3.0Success10,998
Jan 18, 2026 06:11Josu San MartinJosu San MartinCPPg++13.3.0Error+55.21 RP
Jan 18, 2026 06:11Josu San MartinJosu San MartinCPPclang++18.1.3Error
Jan 18, 2026 06:08Josu San MartinJosu San MartinCPPg++13.3.0Error+78.72 RP
Jan 18, 2026 05:59Josu San MartinJosu San MartinCPPg++13.3.0Error+38.62 RP
Jan 18, 2026 05:53Josu San MartinJosu San MartinCPPg++13.3.0Error+137.11 RP
Jan 18, 2026 05:52Josu San MartinJosu San MartinCPPg++13.3.0Success7,046
Jan 18, 2026 05:45Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 05:43Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 05:41Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 05:41Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 05:39Josu San MartinJosu San MartinCPPg++13.3.0Success12,354
Jan 18, 2026 05:35Josu San MartinJosu San MartinCPPg++13.3.0Error+48.42 RP
Jan 18, 2026 05:34Josu San MartinJosu San MartinCPPclang++18.1.3Error+233.59 RP
Jan 18, 2026 05:34Josu San MartinJosu San MartinCPPg++13.3.0Success8,731+26.02 RP
Jan 18, 2026 05:33Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 05:32Josu San MartinJosu San MartinCPPg++13.3.0Success12,662
Jan 18, 2026 05:28Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 05:25Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 05:24Josu San MartinJosu San MartinCPPg++13.3.0Success12,405
Jan 18, 2026 05:14Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 05:05Josu San MartinJosu San MartinCPPg++13.3.0Success12,691
Jan 18, 2026 04:59Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 04:52Josu San MartinJosu San MartinCPPg++13.3.0Success27,977
Jan 18, 2026 04:39Josu San MartinJosu San MartinCPPg++13.3.0Success9,619
Jan 18, 2026 04:38Josu San MartinJosu San MartinCPPg++13.3.0Success9,880
Jan 18, 2026 04:37Josu San MartinJosu San MartinCPPg++13.3.0Success9,886
Jan 18, 2026 04:37Josu San MartinJosu San MartinCPPg++13.3.0Success9,960
Jan 18, 2026 04:36Josu San MartinJosu San MartinCPPg++13.3.0Success9,952
Jan 18, 2026 04:32Josu San MartinJosu San MartinCPPg++13.3.0Success28,573
Jan 18, 2026 04:28Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 04:22Josu San MartinJosu San MartinCPPg++13.3.0Success9,414
Jan 18, 2026 04:22Josu San MartinJosu San MartinCPPclang++18.1.3Success10,343
Jan 18, 2026 04:16Josu San MartinJosu San MartinCPPg++13.3.0Error
Jan 18, 2026 04:03Josu San MartinJosu San MartinCPPg++13.3.0Success8,934+3.00 RP