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 listMay 21, 2024 23:47Joad NacerJoad NacerScore: 3,664Success
Source Code

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

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1May 21, 2024 23:403,39755,664,50319,942,00010,968,00093,184,000
2May 21, 2024 23:473,41256,726,85820,031,00011,017,00092,905,472
3May 21, 2024 23:323,43054,580,86620,135,00011,074,00092,909,568
4May 21, 2024 23:323,43157,560,25520,143,00011,078,00093,032,448
5May 21, 2024 23:323,43260,960,55521,156,00010,074,00092,889,088
6May 21, 2024 23:473,43452,667,00120,163,00011,090,00092,893,184
7May 21, 2024 23:473,43755,363,01020,177,00011,097,00092,942,336
8May 21, 2024 23:403,43758,631,85820,179,00011,098,00092,921,856
9May 21, 2024 23:473,43958,122,88620,193,00011,106,00092,860,416
10May 21, 2024 23:473,44056,097,45320,196,00011,108,00092,995,584
11May 21, 2024 23:473,44356,140,88920,212,00011,116,00092,880,896
12May 21, 2024 23:473,45858,240,75021,319,00010,152,00092,864,512
13May 21, 2024 23:403,49358,009,53719,869,00011,921,00092,889,088
14May 21, 2024 23:473,49356,879,17019,867,00011,920,00092,938,240
15May 21, 2024 23:473,49658,143,16919,884,00011,930,00092,897,280
16May 21, 2024 23:473,49756,534,62519,891,00011,934,00093,118,464
17May 21, 2024 23:473,50057,785,37419,906,00011,943,00092,905,472
18May 21, 2024 23:473,50060,972,11519,906,00011,944,00092,839,936
19May 21, 2024 23:473,50558,956,96020,935,00010,965,00092,913,664
20May 21, 2024 23:323,50765,758,63119,945,00011,967,00092,856,320
21May 21, 2024 23:473,50858,493,71919,950,00011,970,00092,938,240
22May 21, 2024 23:473,50857,924,71420,950,00010,974,00092,942,336
23May 21, 2024 23:403,51658,159,73320,999,00010,999,00093,069,312
24May 21, 2024 23:403,51757,137,80221,003,00011,001,00093,155,328
25May 21, 2024 23:473,52558,463,13821,051,00011,026,00092,950,528
26May 21, 2024 23:473,52664,265,95820,052,00012,031,00092,884,992
27May 21, 2024 23:473,52756,633,89220,063,00012,037,00092,930,048
28May 21, 2024 23:473,53160,284,74420,082,00012,049,00092,897,280
29May 21, 2024 23:473,53857,727,39720,125,00012,075,00092,852,224
30May 21, 2024 23:473,53963,852,49820,127,00012,076,00092,946,432
31May 21, 2024 23:473,57561,795,64121,349,00011,183,00093,200,384
32May 21, 2024 23:473,635102,749,17433,074,328094,748,672
33May 21, 2024 23:323,640110,917,65533,126,877094,490,624
34May 21, 2024 23:323,643113,441,87633,155,476094,482,432
35May 21, 2024 23:323,64793,478,38033,186,073094,756,864
36May 21, 2024 23:473,653102,135,20433,238,917094,494,720
37May 21, 2024 23:473,65592,028,48433,257,647094,482,432
38May 21, 2024 23:473,658110,005,76733,288,709094,474,240
39May 21, 2024 23:473,663112,990,95533,329,093094,617,600
40May 21, 2024 23:473,663102,852,19133,329,167094,621,696
41May 21, 2024 23:473,66397,592,19233,335,541094,486,528
42May 21, 2024 23:403,66496,425,38533,343,974094,490,624
43May 21, 2024 23:473,66499,892,19933,341,290094,482,432
44May 21, 2024 23:473,66697,814,76433,358,430094,486,528
45May 21, 2024 23:473,67055,553,77221,254,00012,145,00093,167,616
46May 21, 2024 23:473,671109,131,45733,408,468094,490,624
47May 21, 2024 23:473,673110,992,39033,426,942094,494,720
48May 21, 2024 23:473,674106,535,57933,433,475094,494,720
49May 21, 2024 23:403,67695,105,42533,449,402094,482,432
50May 21, 2024 23:473,678115,233,61633,465,906094,482,432
51May 21, 2024 23:473,691101,171,62233,587,138094,613,504
52May 21, 2024 23:403,698110,302,88633,655,026094,609,408
53May 21, 2024 23:473,760108,420,91934,211,992094,498,816
54May 21, 2024 23:473,95062,094,01821,967,00013,979,00093,081,600
55May 21, 2024 23:474,17664,152,18221,001,00017,000,00093,155,328
56May 21, 2024 23:324,26666,284,98620,904,00017,918,00093,085,696
57May 21, 2024 23:474,36965,284,15520,873,00018,885,00093,143,040
58May 21, 2024 23:404,47474,775,55722,840,00017,874,00093,122,560
59May 21, 2024 23:474,80874,154,02721,878,00021,878,00093,077,504
60May 21, 2024 23:474,95672,181,83322,050,00023,052,00093,159,424
61May 21, 2024 23:474,98670,085,63522,181,00023,189,00093,048,832
62May 21, 2024 23:325,61376,629,12422,035,00029,046,00093,048,832
63May 21, 2024 23:475,61374,338,71124,035,00027,039,00093,044,736
64May 21, 2024 23:476,16079,710,64923,022,00033,031,00093,044,736
65May 21, 2024 23:476,83593,278,07824,075,00038,119,00093,204,480
66May 21, 2024 23:477,14390,117,03726,000,00039,000,00093,188,096
67May 21, 2024 23:327,22898,735,36224,913,00040,858,00093,245,440
68May 21, 2024 23:407,24990,024,88323,988,00041,979,00093,286,400
69May 21, 2024 23:477,41391,954,50325,170,00042,285,00093,167,616
70May 21, 2024 23:477,45095,353,93225,923,00041,875,00093,151,232
71May 21, 2024 23:477,45197,779,40424,927,00042,875,00093,245,440
72May 21, 2024 23:477,46294,175,70124,963,00042,937,00093,237,248
73May 21, 2024 23:477,50892,894,37725,120,00043,206,00093,241,344
74May 21, 2024 23:477,51293,225,41725,132,00043,228,00093,237,248
75May 21, 2024 23:477,52890,829,91825,185,00043,319,00093,347,840
76May 21, 2024 23:477,545100,768,08425,241,00043,415,00093,257,728
77May 21, 2024 23:327,560100,941,51625,922,00042,872,00093,261,824
78May 21, 2024 23:407,56297,662,81624,931,00043,879,00093,343,744
79May 21, 2024 23:477,56393,590,79325,933,00042,890,00093,278,208
80May 21, 2024 23:477,58395,584,64926,002,00043,004,00093,298,688
81May 21, 2024 23:477,59696,929,26125,044,00044,077,00093,204,480
82May 21, 2024 23:327,61293,267,89825,098,00044,173,00093,233,152
83May 21, 2024 23:407,67098,488,01825,925,00043,873,00093,155,328
84May 21, 2024 23:477,70996,903,84725,055,00045,100,00093,245,440