title: Python json.dumps object when used in String context has length restrictions
body: <p>I have the following condition. A dict "result" passed to json.dumps as follows. The dict 'result', and output are printed out as shown below. </p>
  
  <pre><code>dumpclean(result)
  jsonString = json.dumps(result)
  dumpclean(jsonString)
  print "Value being sent to server is %s" % jsonString
  </code></pre>
  
  <p>Here dumpclean implementation is as follows</p>
  
  <pre><code>def dumpclean(obj):
      if type(obj) == dict:
          for k, v in obj.items():
              if hasattr(v, '__iter__'):
                  print k
                  dumpclean(v)
              else:
                  print '%s : %s' % (k, v)
      elif type(obj) == list:
          for v in obj:
              if hasattr(v, '__iter__'):
                  dumpclean(v)
              else:
                  print v
      else:
          print obj
  </code></pre>
  
  <p>The output I see in log is something strange</p>
  
  <pre><code>2015-07-04 10:47:06 route_id : DEMPUN0001027
  2015-07-04 10:47:06 version : 1
  2015-07-04 10:47:06 frequency : 1
  2015-07-04 10:47:06 end_time : 08:00
  2015-07-04 10:47:06 type : schoolbuspickup
  2015-07-04 10:47:06 points
  2015-07-04 10:47:06 Latitude : 18.5123307247
  2015-07-04 10:47:06 display_name : Check Point 0
  2015-07-04 10:47:06 id : DEMPUN0001027000
  2015-07-04 10:47:06 Longitude : 73.7916469574
  2015-07-04 10:47:06 Latitude : 18.5112523117
  2015-07-04 10:47:06 display_name : Check Point 1
  2015-07-04 10:47:06 id : DEMPUN0001027001
  2015-07-04 10:47:06 Longitude : 73.7930846214
  2015-07-04 10:47:06 Latitude : 18.5095634624
  2015-07-04 10:47:06 display_name : Check Point 2
  2015-07-04 10:47:06 id : DEMPUN0001027002
  2015-07-04 10:47:06 Longitude : 73.7935996056
  2015-07-04 10:47:06 Latitude : 18.5081798145
  2015-07-04 10:47:06 display_name : Check Point 3
  2015-07-04 10:47:06 id : DEMPUN0001027003
  2015-07-04 10:47:06 Longitude : 73.7945008278
  2015-07-04 10:47:06 Latitude : 18.5073658988
  2015-07-04 10:47:06 display_name : Check Point 4
  2015-07-04 10:47:06 id : DEMPUN0001027004
  2015-07-04 10:47:06 Longitude : 73.7984704971
  2015-07-04 10:47:06 Latitude : 18.5067554594
  2015-07-04 10:47:06 display_name : Check Point 5
  2015-07-04 10:47:06 id : DEMPUN0001027005
  2015-07-04 10:47:06 Longitude : 73.8006162643
  
  2015-07-04 10:47:06 {"display_name": "Trial1", "start_time": "07:00", "days_valid": ["Mon", "Tue", "Wed", "Thu", "Fri"], "route_id": "DEMPUN0001027", "version": 1, "frequency": 1, "end_time": "08:00", "type": "schoolbuspickup", "points": [{"Latitude": 18.5123307247275, "display_name": "Check Point 0", "id": "DEMPUN0001027000", "Longitude": 73.79164695739746}, {"Latitude": 18.511252311658, "display_name": "Check Point 1", "id": "DEMPUN0001027001", "Longitude": 73.79308462142944}, {"Latitude": 18.5095634624415, "display_name": "Check Point 2", "id": "DEMPUN0001027002", "Longitude": 73.7935996055603}, {"Latitude": 18.5081798145188, "display_name": "Check Point 3", "id": "DEMPUN0001027003", "Longitude": 73.7945008277893}, {"Latitude": 18.5073658987508, "display_name": "Check Point 4", "id": "DEMPUN0001027004", "Longitude": 73.79847049713135}, {"Latitude": 18.506755459385, "display_name": "Check Point 5", "id": "DEMPUN0001027005", "Longitude": 73.80061626
  
  2015-07-04 10:47:06 Value being sent to server is {"display_name": "Trial1", "start_time": "07:00", "days_valid": ["Mon", "Tue", "Wed", "Thu", "Fri"], "route_id": "DEMPUN0001027", "version": 1, "frequency": 1, "end_time": "08:00", "type": "schoolbuspickup", "points": [{"Latitude": 18.5123307247275, "display_name": "Check Point 0", "id": "DEMPUN0001027000", "Longitude": 73.79164695739746}, {"Latitude": 18.511252311658, "display_name": "Check Point 1", "id": "DEMPUN0001027001", "Longitude": 73.79308462142944}, {"Latitude": 18.5095634624415, "display_name": "Check Point 2", "id": "DEMPUN0001027002", "Longitude": 73.7935996055603}, {"Latitude": 18.5081798145188, "display_name": "Check Point 3", "id": "DEMPUN0001027003", "Longitude": 73.7945008277893}, {"Latitude": 18.5073658987508, "display_name": "Check Point 4", "id": "DEMPUN0001027004", "Longitude": 73.79847049713135}, {"Latitude": 18.506755459385, "display_name": "Check Point 5", "id": "DEMPUN0001027
  </code></pre>
  
  <p>It seems as the output of json.dumps when used in a string context is getting truncated. So is there a length of string restriction for the print function
  ?</p>
  
  <p>The main issue is the jsonString so generated when used to in a 'POST' is also resulting in a truncated JSON being posted. </p>
  
  <pre><code>req = Request("http://xyz/api/v1/Route/" + routeCode, jsonString)
  response = urlopen(req)
  </code></pre>
  
  <p>SOLUTION:</p>
  
  <p>This is related to the field size restriction of the cache implementation used to store JSON on receiving server. It was not big enough to cover for larger JSON data.</p>