我運行下面的代碼(稱爲caa_fiel_write.py)輸出我Splunk的結果到JSON文件:Splunk的定製警報Python的問題
import sys, json, urllib2
def write_file(settings):
f = open('myfile','w')
f.write("%s"%json.dumps(settings))
f.close()
if __name__ == "__main__":
caa_config = json.loads(sys.stdin.read())
write_file(caa_config)
我收到以下錯誤:
文件「/opt/sdg/splunk/etc/apps/SDG/bin/caa_file_write.py」,第7行,在 caa_config = json.loads(sys.stdin.read())
文件「/ opt/sdg/splunk/lib/python2.7/json/__ init__.py「,第339行,在負載 返回_default_decoder.decode(S)
文件 「/opt/sdg/splunk/lib/python2.7/json/decoder.py」,線路364,在解碼 OBJ,端= self.raw_decode( s,idx = _w(s,0).end())
raw_decode中的文件「/opt/sdg/splunk/lib/python2.7/json/decoder.py」,第382行 raise ValueError 「沒有JSON對象可以解碼」)
ValueError異常:無JSON對象可以解碼
339線從__init__.py是:
return _default_decoder.decode(s)
線364和decoder.py 382:
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
...
raise ValueError("No JSON object could be decoded")
我不知道爲什麼它被調用解碼器擺在首位,它應該被編碼。 __init__.py和decoder.py都是標準的Splunk python文件,可通過任何發行版獲得。
什麼是這些錯誤,我該如何解決它們?
所以輸入必須是有效的JSON? – Deesbek
@Deesbek是的,你期望什麼? –
大聲笑,我期待一個轉換,標準的鍵/值對JSON,但現在我實際上重新閱讀書中的章,它的行爲如預期。 – Deesbek