我正在使用Python -request库发出其余请求。
API正在接受以下格式的数据
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)
转储数据,这也没有帮助我。请帮助我如何生成上述格式。
答案 0 :(得分:0)
我不认为您怀疑的两个数据值之间存在差异。只是为了确保你可以通过以下方式检查翻译是否认为他们是不同的:
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
答案 1 :(得分:0)
您似乎遇到的一个问题是,您尝试使用的数据json.dumps
包含字符串。
如果您可以将学习类型的数据作为list
获取,则代理商分解为bool
而报告级别为dict
dumps
应该可以为您提供所需内容
agentbreakdown = False
activities = [...insert list elements here...]
reportlevel = {...}
data = { "Activities" : learningtype,
"UseAgentBreakdown": agentbreakdown,
"ReportLevel" : reportlevel
}
json.dumps(data, indent=4)
给出
{
"UseAgentBreakdown": false,
"Activities": [
"Lesson 3: Redeem"
],
"ReportLevel": {
"ParentLevel": [
{
"LevelID": "myretail",
"Level": "COL_NUM8_VAL"
}
],
"CurrentLevel": "COL_NUM5_VAL",
"NameField": "COL_NUM5_VAL"
}
}