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
Back to listMar 20, 2026 03:08Dominique GarmierDominique GarmierScore: 7,312Success
Source Code

Source code access is restricted. Log in to request access.

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Mar 17, 2026 10:217,25694,553,50148,024,00018,009,00094,564,352
2Mar 22, 2026 11:327,27695,257,66650,162,00016,051,00094,547,968
3Mar 20, 2026 08:547,28192,870,63650,192,00016,061,00094,543,872
4Mar 20, 2026 09:087,28290,393,31748,191,00018,071,00094,760,960
5Mar 22, 2026 22:257,28292,963,34548,194,00018,073,00094,568,448
6Mar 20, 2026 08:377,28691,967,13548,221,00018,083,00094,564,352
7Mar 23, 2026 05:477,28696,180,99550,230,00016,073,00094,568,448
8Mar 20, 2026 07:527,28796,986,80150,239,00016,076,00094,539,776
9Mar 20, 2026 00:407,28993,905,14449,243,00017,084,00094,765,056
10Mar 17, 2026 10:217,29099,594,07048,247,00018,092,00094,564,352
11Mar 22, 2026 22:057,29295,368,18848,530,00017,827,00094,568,448
12Mar 20, 2026 08:257,29394,820,15550,280,00016,089,00094,543,872
13Mar 17, 2026 10:217,29591,255,07450,288,00016,092,00094,564,352
14Mar 20, 2026 00:367,29693,466,95248,288,00018,108,00094,564,352
15Mar 23, 2026 06:237,29992,290,48951,549,00014,870,00094,572,544
16Mar 17, 2026 14:077,30091,225,39147,305,00019,123,00094,539,776
17Mar 20, 2026 00:367,30193,289,85449,325,00017,112,00094,564,352
18Mar 20, 2026 07:527,30195,489,52150,576,00015,867,00094,797,824
19Mar 20, 2026 07:527,30297,233,36849,335,00017,116,00094,547,968
20Mar 20, 2026 09:087,30393,418,81348,600,00017,853,00094,564,352
21Mar 22, 2026 22:057,30395,825,72446,617,00019,837,00094,560,256
22Mar 23, 2026 06:237,30597,238,22950,602,00015,875,00094,568,448
23Mar 20, 2026 08:377,30593,306,92345,641,00020,836,00094,564,352
24Mar 20, 2026 08:547,30791,664,32948,630,00017,864,00094,547,968
25Mar 22, 2026 22:257,30790,907,03348,362,00018,136,00094,543,872
26Mar 17, 2026 10:217,30992,341,13647,648,00018,860,00094,785,536
27Mar 20, 2026 03:087,30996,355,44147,368,00019,148,00094,564,352
28Mar 20, 2026 08:047,31093,054,60949,645,00016,879,00094,564,352
29Mar 22, 2026 11:327,31196,539,09048,657,00017,874,00094,806,016
30Mar 17, 2026 10:217,31192,437,60747,663,00018,866,00094,564,352
31Mar 17, 2026 14:077,31296,396,19148,662,00017,876,00094,564,352
32Mar 17, 2026 14:077,31396,796,01547,675,00018,871,00094,666,752
33Mar 20, 2026 00:367,31493,642,20152,647,00013,906,00094,539,776
34Mar 20, 2026 08:377,31592,127,13649,675,00016,889,00094,793,728
35Mar 20, 2026 08:547,31694,444,61348,691,00017,886,00094,564,352
36Mar 20, 2026 01:367,31695,367,06748,691,00017,886,00094,564,352
37Mar 23, 2026 06:237,31794,377,40149,691,00016,895,00094,568,448
38Mar 17, 2026 10:217,317100,411,34548,426,00018,160,00094,543,872
39Mar 20, 2026 00:407,31791,670,81547,700,00018,881,00094,793,728
40Mar 20, 2026 01:367,32087,378,20947,721,00018,889,00094,797,824
41Mar 17, 2026 10:217,32093,572,41347,722,00018,890,00094,539,776
42Mar 20, 2026 01:367,32197,005,40050,714,00015,910,00094,564,352
43Mar 23, 2026 05:477,32291,096,04450,718,00015,911,00094,560,256
44Mar 22, 2026 22:257,32291,417,10649,726,00016,906,00094,568,448
45Mar 20, 2026 08:257,32493,968,70249,740,00016,911,00094,633,984
46Mar 17, 2026 14:117,324102,166,54649,738,00016,910,00094,564,352
47Mar 20, 2026 08:047,32496,883,78247,745,00018,899,00094,564,352
48Mar 20, 2026 08:257,32598,444,43848,747,00017,907,00094,715,904
49Mar 22, 2026 22:057,32694,673,05848,758,00017,911,00094,568,448
50Mar 17, 2026 14:117,32792,578,84948,765,00017,913,00094,564,352
51Mar 20, 2026 08:047,32896,384,00047,772,00018,909,00094,785,536
52Mar 20, 2026 09:087,33693,566,51952,812,00013,950,00094,564,352
53Mar 20, 2026 03:087,33692,266,74849,823,00016,939,00094,556,160
54Mar 23, 2026 05:477,34398,548,25247,871,00018,949,00094,568,448
55Mar 17, 2026 10:217,34490,845,89047,876,00018,951,00094,797,824
56Mar 22, 2026 11:327,34497,619,43548,874,00017,954,00094,568,448
57Mar 17, 2026 10:217,34593,012,79648,883,00017,957,00094,564,352
58Mar 20, 2026 00:407,34592,350,14047,884,00018,954,00094,564,352
59Mar 17, 2026 14:117,35789,878,35946,962,00019,983,00094,560,256
60Mar 20, 2026 03:087,38389,768,09349,134,00018,049,00094,543,872