Pythonjson.dumps文件对象在字符串上下文中使用时具有长度限制

2024-10-03 23:29:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下情况。口述“结果”传给json.dumps文件具体如下。dict‘result’和输出将打印出来,如下所示。在

dumpclean(result)
jsonString = json.dumps(result)
dumpclean(jsonString)
print "Value being sent to server is %s" % jsonString

这里dumpclean实现如下

^{pr2}$

我在日志中看到的输出有点奇怪

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

它似乎是json.dumps文件在字符串上下文中使用时会被截断。那么print函数是否有字符串长度限制 ? 在

主要问题是jsonString,因此在“POST”中使用时生成的JSON字符串也会导致一个被截断的JSON被发布。在

req = Request("http://xyz/api/v1/Route/" + routeCode, jsonString)
response = urlopen(req)

解决方案:

这与用于在接收服务器上存储JSON的缓存实现的字段大小限制有关。它不够大,无法容纳更大的JSON数据。在


Tags: nameidjsontimecheckdisplayresultpoint
1条回答
网友
1楼 · 发布于 2024-10-03 23:29:11

So is there a length of string restriction for the print function ?

不,Python只是将字符串传递到输出。在

但是,您的记录器很可能会有这样的每行限制,以防止程序使日志文件大小爆炸。在

相关问题 更多 >