将字符串输出转换为JSON

2024-10-04 03:28:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过API从外部系统(Salesforce Marketing Cloud)获取一些数据,并以以下格式获取数据:

Results: [(List){
   Client =
      (ClientID){
         ID = 113903
      }
   PartnerKey = None
   CreatedDate = 2013-07-29 04:43:32.000073
   ModifiedDate = 2013-07-29 04:43:32.000073
   ID = 1966872
   ObjectID = None
   CustomerKey = "343431CD-031D-43C7-981F-51B778A5A47F"
   ListName = "PythonSDKList"
   Category = 578615
   Type = "Private"
   Description = "This list was created with the PythonSDK"
   ListClassification = "ExactTargetList"
 }]

它非常接近JSON,我想将其格式化为JSON文件,以便将其导入到我们的数据库中。你知道我该怎么做吗?在

谢谢


Tags: 数据clientnoneapiidjsoncloud系统
2条回答

要转换数组,可以使用 变量jsonString=JSON.stringify(你的阵列)

它看起来像一个名为suds的对象,它已经在Python中了。Fuel SDK使用它。在

肥皂水对象已经为你做到了。只需调用您要查找的属性。在


但是,如果您希望它作为dict,attached是常见的函数:

from suds.sudsobject import asdict

def recursive_asdict(d):
    out = {}
    for k, v in asdict(d).iteritems():
        if hasattr(v, '__keylist__'):
            out[k] = recursive_asdict(v)
        elif isinstance(v, list):
            out[k] = []
            for item in v:
                if hasattr(item, '__keylist__'):
                    out[k].append(recursive_asdict(item))
                else:
                    out[k].append(item)
        else:
            out[k] = v
    return out

def suds_to_json(data):
    return json.dumps(recursive_asdict(data))

第一个将其转换为dict,第二个将其转换为适当的json。在

一些有用的链接: https://fedorahosted.org/suds/wiki/Documentation

相关问题 更多 >