2013-12-21 81 views
0

基本上,我試圖將來自Solr服務器的查詢響應轉換爲可傳遞給第三方api的json對象。然而,如下面我的代碼,我不能做到這一點:如何使用solrpy庫將Solr查詢響應轉換爲json?

import solr 
    import json 

    if __name__=='__main__': 
    s = solr.SolrConnection('http://localhost:8983/solr') 
    op = open('output.json','w') 

    for term in ['searchstring1','searchstring2','searcstring']: 
     t = s.query('title:%s'%term,rows=100, wt='json') 
     for news in t.results: 
      op.write(news) 

輸出:回溯(最近通話最後一個): 文件「querying.py」,第11行,在 op.write (新聞) TypeError:預期的字符緩衝區對象

我已經非常簡要地閱讀了Solr,並發現了這個solrpy庫以json格式存儲查詢結果。任何在這方面的幫助將不勝感激。

回答

0

你正在試圖寫實際的Python字典到文件,而不是它的JSON表示。錯誤消息試圖告訴你傳入的對象不能直接用作字符緩衝區。嘗試使用json.dumps在將其寫入文件之前將其作爲字符串創建JSON表示。

+0

是的,json.dumps做的伎倆,謝謝! – ankits