2016-04-06 46 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

好的,非常感谢! –