Advertisement
Dori_mon

Json Pretty Printer

Mar 10th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.14 KB | None | 0 0
  1. def get_pretty_obj(obj, tabs=0, tab='    '):
  2.     pretty_obj = '{\n'
  3.    
  4.     keys = list(obj.keys())
  5.     for i in range(0, len(obj)):
  6.         key = keys[i]
  7.         value = obj[key]
  8.  
  9.         pretty_obj += f'{(tabs + 1)*tab}{key}: {get_pretty(value, tabs+1)}'
  10.         if i + 1 != len(obj):
  11.             pretty_obj += ',\n'
  12.    
  13.     pretty_obj += f'\n{(tabs)*tab}' + '}'
  14.  
  15.     return pretty_obj
  16.  
  17. def get_pretty_array(array, tabs=0, tab='    '):
  18.     pretty_array = '[\n'
  19.    
  20.     for i in range(0, len(array)):
  21.         value = array[i]
  22.  
  23.         pretty_array += f'{(tabs + 1)*tab}{get_pretty(value, tabs+1)}'
  24.         if i + 1 != len(array):
  25.             pretty_array += ',\n'
  26.        
  27.     pretty_array += f'\n{(tabs)*tab}' + ']'
  28.  
  29.     return pretty_array
  30.  
  31. def get_pretty(input, tabs=0):
  32.     input_type = type(input)
  33.     if input_type is dict:
  34.         return get_pretty_obj(input, tabs)
  35.     elif input_type is list:
  36.         return get_pretty_array(input, tabs)
  37.    
  38.     return input
  39.  
  40. if __name__ == "__main__":
  41.     # main()
  42.     obj = {'key': {'key': 'value'}, 'key2': 'value2', 'array': ['hey', {'hey': 'hey'}]}
  43.     print(get_pretty(obj))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement