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 listJul 26, 2024 21:46Yuriy LyfenkoYuriy LyfenkoScore: 3,591Success
Source Code

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

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Jul 26, 2024 21:393,379658,626,03615,872,00014,880,00092,975,104
2Jul 26, 2024 21:463,380658,651,35515,874,00014,882,00092,889,088
3Jul 26, 2024 21:393,382656,777,18215,883,00014,890,00092,893,184
4Jul 26, 2024 21:463,392661,035,63315,932,00014,936,00093,204,480
5Jul 26, 2024 21:393,394657,124,79218,533,00012,355,00093,184,000
6Jul 26, 2024 21:463,394656,550,40818,531,00012,354,00092,917,760
7Jul 26, 2024 21:463,396654,558,69715,952,00014,955,00093,208,576
8Jul 26, 2024 21:463,398658,538,10315,961,00014,963,00093,106,176
9Jul 26, 2024 21:463,398659,365,23423,709,0007,215,00092,909,568
10Jul 26, 2024 21:393,398660,040,11716,492,00014,430,00092,835,840
11Jul 26, 2024 21:463,402653,890,34118,976,00011,985,00092,901,376
12Jul 26, 2024 21:463,403658,160,77018,579,00012,386,00092,880,896
13Jul 26, 2024 21:463,403664,154,94019,614,00011,356,00093,044,736
14Jul 26, 2024 21:463,406658,487,05421,694,0009,297,00092,884,992
15Jul 26, 2024 21:393,407658,534,84621,005,00010,002,00093,110,272
16Jul 26, 2024 21:463,408652,417,19015,004,00016,005,00093,175,808
17Jul 26, 2024 21:463,409651,070,18122,015,0009,006,00093,208,576
18Jul 26, 2024 21:463,409652,655,99017,579,00013,443,00092,901,376
19Jul 26, 2024 21:463,410653,476,80019,021,00012,013,00093,130,752
20Jul 26, 2024 21:463,411656,597,67519,656,00011,380,00092,901,376
21Jul 26, 2024 21:463,412653,426,98324,039,0007,011,00093,151,232
22Jul 26, 2024 21:393,420654,126,39222,087,0009,035,00093,147,136
23Jul 26, 2024 21:463,423653,315,31522,107,0009,043,00093,184,000
24Jul 26, 2024 21:463,590688,967,73832,668,602094,609,408
25Jul 26, 2024 21:463,591709,796,26932,679,513094,679,040
26Jul 26, 2024 21:393,593689,496,12332,696,651094,609,408
27Jul 26, 2024 21:463,596701,188,70632,719,339094,609,408
28Jul 26, 2024 21:393,598689,256,24432,738,460094,609,408
29Jul 26, 2024 21:463,600699,848,66632,759,993094,609,408
30Jul 26, 2024 21:463,601684,701,23232,765,932094,613,504
31Jul 26, 2024 21:463,603692,962,50032,785,954094,609,408
32Jul 26, 2024 21:463,611695,207,50832,858,061094,613,504
33Jul 26, 2024 21:463,613688,548,48632,876,051094,605,312
34Jul 26, 2024 21:393,614692,233,24532,889,770094,605,312
35Jul 26, 2024 21:463,615694,867,70932,892,672094,642,176
36Jul 26, 2024 21:463,731652,741,15121,606,00012,346,00092,958,720
37Jul 26, 2024 21:395,357676,811,36624,374,00024,374,00093,147,136
38Jul 26, 2024 21:395,792675,481,60323,869,00028,842,00093,126,656
39Jul 26, 2024 21:465,971681,246,77535,881,00018,453,00093,118,464
40Jul 26, 2024 21:465,980675,501,57623,178,00031,240,00093,118,464
41Jul 26, 2024 21:466,052676,399,14832,045,00023,032,00093,114,368
42Jul 26, 2024 21:466,123679,082,53228,856,00026,866,00093,106,176
43Jul 26, 2024 21:466,127680,874,56926,358,00029,399,00093,110,272
44Jul 26, 2024 21:466,279680,860,67728,570,00028,570,00093,278,208
45Jul 26, 2024 21:466,305679,348,55826,172,00031,205,00093,102,080
46Jul 26, 2024 21:467,035695,314,51731,007,00033,008,00093,327,360
47Jul 26, 2024 21:467,043685,439,18729,043,00035,052,00093,323,264
48Jul 26, 2024 21:397,141685,393,78829,446,00035,538,00093,323,264