2016-05-19 28 views
0

對於下面的代碼:序列化列表的字典不工作「類型錯誤:0.031是不是JSON序列化」

document_vectors = dict() 
for label in d2v_model.docvecs.doctags: 
    vector = [ v for v in d2v_model.docvecs[label]] 
    document_vectors[label] = list(vector) 

document_vectors_file ="../results/amazon_hierarchical_document_vectors.json" 

with open(document_vectors_file, "w") as outfile: 
    print "Writing document vectors .." 
    json.dumps(document_vectors, outfile) 

我越來越:

TypeError: 0.031942371 is not JSON serializable 

調試它讓我發現,我確實在這裏有一個dict()list()(我也嘗試使用一個簡單的數組),但它不起作用。爲什麼?

回答

0

有趣沒有的伎倆:

vector = [1.0*v for v in d2v_model.docvecs[label]] 

調試器說,d2v_model.docvecs[label]返回float32,然而,json是不滿意的話。乘以1.0轉換成float64突然有效。

可能與Convert numpy type to python

相關問題