用python格式化数据
我正在使用Python请求库发出rest请求 API正在接受以下格式的数据用python格式化数据,python,json,api,python-requests,Python,Json,Api,Python Requests,我正在使用Python请求库发出rest请求 API正在接受以下格式的数据 aspected_data = { "UseAgentBreakdown": false, "Activities": ["Lesson 3: Redeem"], "ReportLevel": { "ParentLevel": [
aspected_data =
{
"UseAgentBreakdown": false,
"Activities": ["Lesson 3: Redeem"],
"ReportLevel":
{
"ParentLevel": [
{
"LevelID": "myretail",
"Level": "COL_NUM8_VAL"
}
],
"CurrentLevel": "COL_NUM5_VAL",
"NameField": "COL_NUM5_VAL"
}
}
但我的代码生成的数据类似于
data = {'UseAgentBreakdown': 'False', 'Activities': u"['Lesson 3: Redeem']", 'ReportLevel': u"{'ParentLevel': [{'LevelID': 'myretail', 'Level': 'COL_NUM8_VAL'}], 'CurrentLevel': 'COL_NUM5_VAL', 'NameField': 'COL_NUM5_VAL'}"}
基本上这就是我生成数据的方式
data = { "Activities" : learningtype,
"UseAgentBreakdown": str(agentbreakdown),
"ReportLevel" : reportlevel
}
在哪里
print learnertype o/p is ['Lesson 3: Redeem']
print agentbreakdown o/p is False
print reportlevel o/p is {'ParentLevel': [{'LevelID': 'myretail', 'Level': 'COL_NUM8_VAL'}], 'CurrentLevel': 'COL_NUM5_VAL', 'NameField': 'COL_NUM5_VAL'}
我尝试使用
json转储数据。dumps(data)
对我也没有帮助。请帮助我如何生成上述格式。我看不出您怀疑的两个数据值之间有什么区别。为了确保您可以检查口译员是否认为他们不同,请执行以下操作:
data = {'UseAgentBreakdown': 'False', 'Activities': u"['Lesson 3: Redeem']", 'ReportLevel': u"{'ParentLevel': [{'LevelID': 'myretail', 'Level': 'COL_NUM8_VAL'}], 'CurrentLevel': 'COL_NUM5_VAL', 'NameField': 'COL_NUM5_VAL'}"}
a_data = {'UseAgentBreakdown': 'False', 'Activities': u"['Lesson 3: Redeem']", 'ReportLevel': u"{'ParentLevel': [{'LevelID': 'myretail', 'Level': 'COL_NUM8_VAL'}], 'CurrentLevel': 'COL_NUM5_VAL', 'NameField': 'COL_NUM5_VAL'}"}
data == a_data
打印
True
您似乎遇到的一个问题是试图使用json的数据。转储包含字符串
如果您可以以列表的形式获取learningtype的数据,则以bool的形式获取agentbreakdown的数据,以dict的形式获取reportlevel的数据,以及以dumps的形式获取reportlevel的数据,这将为您提供所需的信息
agentbreakdown = False
activities = [...insert list elements here...]
reportlevel = {...}
data = { "Activities" : learningtype,
"UseAgentBreakdown": agentbreakdown,
"ReportLevel" : reportlevel
}
json.dumps(data, indent=4)
给予
@traceur实际上是单qoute和u“[“第3课:兑换]”(额外的双引号会产生问题)
{
"UseAgentBreakdown": false,
"Activities": [
"Lesson 3: Redeem"
],
"ReportLevel": {
"ParentLevel": [
{
"LevelID": "myretail",
"Level": "COL_NUM8_VAL"
}
],
"CurrentLevel": "COL_NUM5_VAL",
"NameField": "COL_NUM5_VAL"
}
}