2016-04-06 2 views
0

Я новичок в Salesforce и Python и с небольшими проблемами, понимая это, любая помощь будет принята с благодарностью.Разбор объекта JSON Salesforce с Python

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

Предполагая, что вы используете класс Salesforce от here, он не возвращает JSON; он возвращает уже декодированный dict. Нет необходимости называть json.loads на нем.

+0

Я вижу. Как я мог писать «accDetails» в файл (csv или txt) в форматированной структуре? Я не могу найти никаких простых решений нигде. –

+0

Вы можете использовать 'json.dumps', как и вы. Вам просто не нужно сначала называть 'json.loads'. –

+0

ОК, большое спасибо! –

Смежные вопросы