2016-04-06 52 views
0

我是新來的Salesforce和Python,並且有點麻煩弄清楚這一點,任何幫助將不勝感激。使用Python解析Salesforce JSON對象

from simple_salesforce import Salesforce 
import requests 
import csv 
import json 
import pdb 

sf = Salesforce(
    username='[email protected]', password='XXXXXX', security_token='security_token') 

accDetails = sf.query("SELECT Name FROM Account") 
#print(accDetails) 


try: 
    #pdb.set_trace() 
    decoded = json.loads(accDetails) 

    # Pretty printing of json-formatted string 
    print json.dumps(decoded, sort_keys=True, indent=4) 

    print "JSON decoded: ", decoded['two']['list'][1]['item'] 

except (ValueError, KeyError, TypeError): 
    print "JSON format error" 

它引發「JSON格式錯誤」錯誤。我確信這很簡單,我做錯了,正如我所說我對此很新。

回答

1

假設您使用here的Salesforce類,它不返回JSON;它返回一個已經解碼的字典。無需撥打json.loads就可以了。

+0

我明白了。那我怎麼能把'accDetails'寫成格式化結構的文件(csv或txt)?我找不到任何簡單的解決方案。 –

+0

你可以像使用'json.dumps'一樣使用。你只需先不需要調用'json.loads'。 –

+0

好的,非常感謝! –