var districts = {
"district" : [ {
"ration" : 4 ,
"states" : [ {
"name" : "Louisiana" ,
"population" : 42383 ,
"cities" : [ {
"name" : "Cavalero"
} ]
} ]
} , {
"ration" : 1 ,
"states" : [ {
"name" : "Colorado" ,
"population" : 980 ,
"cities" : [ ]
} , {
"name" : "Arkansas" ,
"population" : 58998 ,
"cities" : [ ]
} , {
"name" : "Illinois" ,
"population" : 59333 ,
"cities" : [ {
"name" : "Kenwood"
} ]
} ]
} , {
"ration" : 2 ,
"states" : [ {
"name" : "Washington" ,
"population" : 83984 ,
"cities" : [ {
"name" : "Conestoga"
} , {
"name" : "Whitehaven"
} , {
"name" : "Dellview"
} ]
} , {
"name" : "West Virginia" ,
"population" : 38034 ,
"cities" : [ ]
} ]
} ]
} ;
var i, district, j, states, k, cities;
for ( i = 0 ; i < districts.district .length ; i++ ) {
district = districts.district [ i] ;
print( i + 1 , ". District" , i + 1 , "consists of following states" , "--- ration" , district.ration ) ;
for ( j = 0 ; j < district.states .length ; j++ ) {
states = district.states [ j] ;
var said = ( states.cities .length > 0 ) ? ( "consists of following cities" ) : ( "" ) ;
print( i + 1 , "." , j + 1 , states.name , said, "--- population" , states.population ) ;
for ( k = 0 ; k < states.cities .length ; k++ ) {
cities = states.cities [ k] ;
print( " " , i + 1 , "." , j + 1 , "." , k + 1 , cities.name ) ;
}
}
}
dmFyIGRpc3RyaWN0cyA9IHsKICAgICJkaXN0cmljdCI6IFt7CiAgICAgICAgInJhdGlvbiI6IDQsCiAgICAgICAgInN0YXRlcyI6IFt7CiAgICAgICAgICAgICJuYW1lIjogIkxvdWlzaWFuYSIsCiAgICAgICAgICAgICJwb3B1bGF0aW9uIjogNDIzODMsCiAgICAgICAgICAgICJjaXRpZXMiOiBbewogICAgICAgICAgICAgICAgIm5hbWUiOiAiQ2F2YWxlcm8iCiAgICAgICAgICAgIH1dCiAgICAgICAgfV0KICAgIH0sIHsKICAgICAgICAicmF0aW9uIjogMSwKICAgICAgICAic3RhdGVzIjogW3sKICAgICAgICAgICAgIm5hbWUiOiAiQ29sb3JhZG8iLAogICAgICAgICAgICAicG9wdWxhdGlvbiI6IDk4MCwKICAgICAgICAgICAgImNpdGllcyI6IFtdCiAgICAgICAgfSwgewogICAgICAgICAgICAibmFtZSI6ICJBcmthbnNhcyIsCiAgICAgICAgICAgICJwb3B1bGF0aW9uIjogNTg5OTgsCiAgICAgICAgICAgICJjaXRpZXMiOiBbXQogICAgICAgIH0sIHsKICAgICAgICAgICAgIm5hbWUiOiAiSWxsaW5vaXMiLAogICAgICAgICAgICAicG9wdWxhdGlvbiI6IDU5MzMzLAogICAgICAgICAgICAiY2l0aWVzIjogW3sKICAgICAgICAgICAgICAgICJuYW1lIjogIktlbndvb2QiCiAgICAgICAgICAgIH1dCiAgICAgICAgfV0KICAgIH0sIHsKICAgICAgICAicmF0aW9uIjogMiwKICAgICAgICAic3RhdGVzIjogW3sKICAgICAgICAgICAgIm5hbWUiOiAiV2FzaGluZ3RvbiIsCiAgICAgICAgICAgICJwb3B1bGF0aW9uIjogODM5ODQsCiAgICAgICAgICAgICJjaXRpZXMiOiBbewogICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uZXN0b2dhIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibmFtZSI6ICJXaGl0ZWhhdmVuIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibmFtZSI6ICJEZWxsdmlldyIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgICJuYW1lIjogIldlc3QgVmlyZ2luaWEiLAogICAgICAgICAgICAicG9wdWxhdGlvbiI6IDM4MDM0LAogICAgICAgICAgICAiY2l0aWVzIjogW10KICAgICAgICB9XQogICAgfV0KfTsKdmFyIGksIGRpc3RyaWN0LCBqLCBzdGF0ZXMsIGssIGNpdGllczsKZm9yIChpID0gMDsgaSA8IGRpc3RyaWN0cy5kaXN0cmljdC5sZW5ndGg7IGkrKykgewogICAgZGlzdHJpY3QgPSBkaXN0cmljdHMuZGlzdHJpY3RbaV07CiAgICBwcmludChpICsgMSwgIi4gRGlzdHJpY3QiLCBpICsgMSwgImNvbnNpc3RzIG9mIGZvbGxvd2luZyBzdGF0ZXMiLCAiLS0tIHJhdGlvbiIsIGRpc3RyaWN0LnJhdGlvbik7CiAgICBmb3IgKGogPSAwOyBqIDwgZGlzdHJpY3Quc3RhdGVzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgc3RhdGVzID0gZGlzdHJpY3Quc3RhdGVzW2pdOwogICAgICAgIHZhciBzYWlkID0gKHN0YXRlcy5jaXRpZXMubGVuZ3RoID4gMCkgPyAoImNvbnNpc3RzIG9mIGZvbGxvd2luZyBjaXRpZXMiKSA6ICgiIik7CiAgICAgICAgcHJpbnQoaSArIDEsICIuIiwgaiArIDEsIHN0YXRlcy5uYW1lLCBzYWlkLCAiLS0tIHBvcHVsYXRpb24iLCBzdGF0ZXMucG9wdWxhdGlvbik7CiAgICAgICAgZm9yIChrID0gMDsgayA8IHN0YXRlcy5jaXRpZXMubGVuZ3RoOyBrKyspIHsKICAgICAgICAgICAgY2l0aWVzID0gc3RhdGVzLmNpdGllc1trXTsKICAgICAgICAgICAgcHJpbnQoIiAgICAgIiwgaSArIDEsICIuIiwgaiArIDEsICIuIiwgayArIDEsIGNpdGllcy5uYW1lKTsKICAgICAgICB9CiAgICB9Cn0=