|
SmtC: Show me the Code
Ole Peter Smith
Instituto de Matemática e Estatística
Universidade Federal de Goiás
http://www.olesmith.com.br
|
|
Liberdade é um prato facil de comer.
Mas deficil de digerir
Jean-Jaques Rousseau
|
Generating JSON
??Third.py3 Listing: Third.py3.
#!/usr/bin/python3
#A dict
persons=[
{
"ID": 1,
"Name": "Ole",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Phone": "62 5555555",
"Fax": "62 5555555",
},
{
"ID": 2,
"Name": "Fulano",
"Email": "ole@ufg.br",
"Birthday": "11/01/1999",
"Phone": "62 5555555",
"Fax": "62 5555555",
},
{
"ID": 3,
"Name": "Beltrano",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Phone": "62 5555555",
"Fax": "62 5555555",
},
{
"ID": 4,
"Name": "Ciclano",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Phone": "62 444444",
"Fax": "62 4444444",
},
{
"ID": 5,
"Name": "Odin",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Phone": "62 5555555",
"Fax": "62 5555555",
},
{
"ID": 6,
"Name": "Thor",
"Email": "thor@ceu.br",
"Birthday": "11/01/1964",
"Phone": "62 5555555",
"Fax": "62 5555555",
},
]
def Dict2JSON(dct,level=1,indent=" "):
texts=[
indent*2+"{"
]
keys=list(dct.keys())
for j in range(len(keys)):
key=keys[j]
value=str(dct[ key ])
text=indent*3
text=text+'"'+key+'": '
text=text+'"'+value+'"'
#Some JSON parsers may worry about trailing commas
if (j<len(keys)-1):
text=text+','
texts.append(text)
texts.append(indent*2+"}")
return "\n".join(texts)
def Dicts2JSON(dcts,level=1,indent=" "):
texts=[
indent+"["
]
for i in range(len(dcts)):
#Increment level
text=Dict2JSON(dcts[i],level+1,indent)
#Some JSON parsers may worry about trailing commas
if (i<len(dcts)-1):
text=text+','
texts.append(text)
texts.append(indent+"]")
return "\n".join(texts)
indent=" "
print("{")
print( Dicts2JSON(persons) )
print("}")
|
Output:
{
[
{
"ID": "1",
"Phone": "62 5555555",
"Name": "Ole",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Fax": "62 5555555"
},
{
"ID": "2",
"Phone": "62 5555555",
"Name": "Fulano",
"Email": "ole@ufg.br",
"Birthday": "11/01/1999",
"Fax": "62 5555555"
},
{
"ID": "3",
"Phone": "62 5555555",
"Name": "Beltrano",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Fax": "62 5555555"
},
{
"ID": "4",
"Phone": "62 444444",
"Name": "Ciclano",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Fax": "62 4444444"
},
{
"ID": "5",
"Phone": "62 5555555",
"Name": "Odin",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Fax": "62 5555555"
},
{
"ID": "6",
"Phone": "62 5555555",
"Name": "Thor",
"Email": "thor@ceu.br",
"Birthday": "11/01/1964",
"Fax": "62 5555555"
}
]
}
Output from: /usr/bin/python3 Third.py3
|
|
Messages:
0 secs.
|