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 28, 2024 13:35Yuriy LyfenkoYuriy LyfenkoScore: 3,904Success
Source Code

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

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Jul 28, 2024 13:423,011660,501,81820,023,0007,377,00092,975,104
2Jul 28, 2024 13:353,033655,581,13822,294,0005,308,00092,979,200
3Jul 28, 2024 13:423,034653,651,53517,750,0009,861,00093,147,136
4Jul 28, 2024 13:353,039654,010,90518,767,0008,890,00093,151,232
5Jul 28, 2024 13:343,039656,991,10119,752,0007,900,00093,044,736
6Jul 28, 2024 13:353,044650,859,19019,788,0007,915,00093,171,712
7Jul 28, 2024 13:353,046654,528,59116,827,00010,888,00093,188,096
8Jul 28, 2024 13:353,046660,481,23817,822,0009,901,00092,930,048
9Jul 28, 2024 13:353,047653,454,72719,511,0008,215,00093,167,616
10Jul 28, 2024 13:423,048658,742,46317,832,0009,906,00092,835,840
11Jul 28, 2024 13:343,051654,328,78118,840,0008,924,00093,130,752
12Jul 28, 2024 13:353,055653,659,17218,862,0008,934,00092,958,720
13Jul 28, 2024 13:353,055653,351,74216,881,00010,923,00093,114,368
14Jul 28, 2024 13:343,057657,562,62717,516,00010,303,00093,122,560
15Jul 28, 2024 13:353,058653,898,22216,894,00010,931,00092,905,472
16Jul 28, 2024 13:353,069654,084,97822,944,0004,987,00093,175,808
17Jul 28, 2024 13:353,263697,737,30329,695,169094,769,152
18Jul 28, 2024 13:353,272682,594,37229,773,095094,613,504
19Jul 28, 2024 13:353,272697,425,20529,771,685094,609,408
20Jul 28, 2024 13:353,272710,043,81429,773,855094,773,248
21Jul 28, 2024 13:423,273693,872,46429,780,658094,609,408
22Jul 28, 2024 13:353,276682,330,76629,810,273094,638,080
23Jul 28, 2024 13:343,278689,296,41329,831,112094,609,408
24Jul 28, 2024 13:353,278699,831,03729,834,200094,777,344
25Jul 28, 2024 13:343,278686,687,90329,828,121094,613,504
26Jul 28, 2024 13:353,279691,388,22329,837,820094,707,712
27Jul 28, 2024 13:353,279709,034,15129,836,568094,773,248
28Jul 28, 2024 13:423,284691,857,46529,881,491094,707,712
29Jul 28, 2024 13:353,286689,245,00629,898,601094,658,560
30Jul 28, 2024 13:343,289684,207,77829,927,688094,609,408
31Jul 28, 2024 13:353,290683,565,89329,940,249094,609,408
32Jul 28, 2024 13:423,294692,646,46629,975,411094,703,616
33Jul 28, 2024 13:353,295696,042,10129,986,345094,597,120
34Jul 28, 2024 13:353,298695,817,58630,013,470094,674,944
35Jul 28, 2024 13:353,727661,465,48020,555,00013,360,00092,946,432
36Jul 28, 2024 13:353,731653,361,06119,550,00014,405,00093,114,368
37Jul 28, 2024 13:353,904666,239,23822,332,00013,196,00093,200,384
38Jul 28, 2024 13:354,076664,389,82525,061,00012,029,00093,192,192
39Jul 28, 2024 13:354,152658,119,01316,337,00021,443,00093,184,000
40Jul 28, 2024 13:344,320660,960,32822,175,00017,135,00093,179,904
41Jul 28, 2024 13:354,384662,890,48622,503,00017,389,00093,167,616
42Jul 28, 2024 13:424,406658,459,33921,049,00019,044,00093,175,808
43Jul 28, 2024 13:354,750669,323,48825,131,00018,094,00093,163,520
44Jul 28, 2024 13:354,839668,657,85825,022,00019,016,00093,151,232
45Jul 28, 2024 13:425,414670,759,90426,141,00023,124,00093,126,656
46Jul 28, 2024 13:345,419676,515,19027,172,00022,140,00093,126,656
47Jul 28, 2024 13:355,896677,476,68327,335,00026,323,00093,102,080
48Jul 28, 2024 13:426,014678,610,19919,901,00034,828,00093,097,984
49Jul 28, 2024 13:346,077678,432,11421,115,00034,186,00093,089,792
50Jul 28, 2024 13:356,144683,201,05530,498,00025,415,00093,089,792
51Jul 28, 2024 13:356,346687,052,88028,368,00029,381,00093,249,536
52Jul 28, 2024 13:356,490683,081,08528,027,00031,030,00093,073,408
53Jul 28, 2024 13:356,563684,609,45529,862,00029,862,00093,331,456
54Jul 28, 2024 13:356,624684,041,19731,145,00029,135,00093,327,360
55Jul 28, 2024 13:426,679684,000,42226,336,00034,440,00093,327,360
56Jul 28, 2024 13:356,710689,110,54827,477,00033,583,00093,315,072
57Jul 28, 2024 13:346,715683,224,95624,043,00037,066,00093,319,168
58Jul 28, 2024 13:356,718684,920,76527,059,00034,075,00093,319,168
59Jul 28, 2024 13:356,719690,574,60524,058,00037,089,00093,323,264
60Jul 28, 2024 13:356,723686,869,07629,568,00031,607,00093,323,264
61Jul 28, 2024 13:356,725682,571,24326,082,00035,111,00093,323,264
62Jul 28, 2024 13:356,726681,911,04630,104,00031,107,00093,323,264
63Jul 28, 2024 13:356,727681,974,48526,525,00034,687,00093,241,344
64Jul 28, 2024 13:356,730680,536,13125,100,00036,144,00093,319,168
65Jul 28, 2024 13:356,737683,770,93425,127,00036,183,00093,319,168
66Jul 28, 2024 13:356,744685,685,55423,139,00038,230,00093,061,120
67Jul 28, 2024 13:356,745685,428,28027,167,00034,211,00093,323,264
68Jul 28, 2024 13:426,747681,818,05531,203,00030,196,00093,323,264
69Jul 28, 2024 13:426,748682,169,22323,539,00037,867,00093,323,264
70Jul 28, 2024 13:346,751682,384,83828,201,00033,237,00093,323,264
71Jul 28, 2024 13:356,762688,952,87822,191,00039,339,00093,233,152
72Jul 28, 2024 13:346,763690,308,88624,213,00037,329,00093,323,264