1
運行下面的python腳本時,我收到以下錯誤消息。Python 2.7.9中的無效控制字符錯誤
ValueError異常:在無效的控制字符:行7591列220620(炭385678)
我做了一些這方面的研究,似乎它會通過傳遞來解決「嚴格=虛假」 json.dumps內() ,但我仍然收到相同的錯誤。這是我嘗試查詢的唯一REST服務返回此錯誤。
import arcgis
import json
from arcgis import ArcGIS
service = ArcGIS("http://mapping.dekalbcountyga.gov/arcgis/rest/services/LandUse/MapServer")
query = service.get(0, count_only=False)
json_query = json.dumps(query, strict=False)
f = open("dekalb_parcels.geojson", "w")
f.write(json_query)
f.close()
任何可以提供的幫助將非常感激。謝謝。
更新 - 這是我收到的完整錯誤。
Traceback (most recent call last):
File "G:\Python\Scripts\dekalb_parcel_query.py", line 8, in <module>
query = service.get(0, count_only=False)
File "C:\Python27\lib\site-packages\arcgis\arcgis.py", line 146, in get
jsobj = self.get_json(layer, where, fields, count_only, srid)
File "C:\Python27\lib\site-packages\arcgis\arcgis.py", line 90, in get_json
return response.json()
File "C:\Python27\lib\site-packages\requests\models.py", line 802, in json
return json.loads(self.text, **kwargs)
File "C:\Python27\lib\json\__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 382, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Invalid control character at: line 7591 column 220620 (char 385678)
來解決這個問題,當你有像逃要轉儲字符串中的'\ r'或'\ N'序列這通常發生。 –
克勞斯,我相信你是對的。據我所知,傳遞'strict = false'應該忽略那些轉義序列。但是,就我而言,似乎並沒有糾正錯誤。除非我錯誤地使用它。 –
「strict」參數在解析JSON時可用,而不是在序列化時可用。 –