Python 中带有变量字符串的 JSON 有效负载

发布于 2025-01-15 19:20:25 字数 419 浏览 3 评论 0原文

我已经尝试了几乎所有的引号排列 下面的代码 1 是硬编码值,即使失败并出现错误 400 加载数据=“”“{ “应用程序”:“EssbaseHPA”, "db": "性能数据", "作业类型":"数据加载", “参数”: { "rule":"PerformanceData.rul", "file":"DPerformanceData.txt", “abortOnError”:“假” } } """

代码 2 是我想要开始工作的。 变量为 appname,dbname.datafile

loaddata1= "{"Application": appname ,"db":dbname, "parameters":"{parameters':"file":datafile,"abortOnError":false"}"}"

以上给出无法识别的令牌应用程序名称

谢谢

I have tried just about all permutations of quotes
Code 1 below is the hardcoded values even this fails with error 400
loaddata =""" {
"Application":"EssbaseHPA" ,
"db": "PerformanceData",
"jobtype":"dataload",
"Parameters": {
"rule":"PerfromanceData.rul",
"file":"DPerformanceData.txt",
"abortOnError": "false"
}
} """

Code 2 is what I am trying to get to work.
Vars are appname,dbname.datafile

loaddata1= "{"Application": appname ,"db":dbname, "parameters":"{ parameters':"file":datafile,"abortOnError":false"}"}"

The above gives unrecognized token appname

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

撞了怀 2025-01-22 19:20:25

你可以这样尝试:

import json

appname = "hallo"
dbname = "stgres"

a = {
    "Application": appname,
    "db": dbname,
    "jobtype": "dataload",
    "Parameters": {
        "rule": "PerformanceData.rul",
        "file":"DPerformanceData.txt",
        "abortOnError": "false"
    }
}

json_a = json.dumps(a, indent=4)

print(json_a)

You could try it like this:

import json

appname = "hallo"
dbname = "stgres"

a = {
    "Application": appname,
    "db": dbname,
    "jobtype": "dataload",
    "Parameters": {
        "rule": "PerformanceData.rul",
        "file":"DPerformanceData.txt",
        "abortOnError": "false"
    }
}

json_a = json.dumps(a, indent=4)

print(json_a)
掐死时间 2025-01-22 19:20:25

谢谢,给了我另一个排列的想法:如下。我必须使用下面的 vars appname、dbname、datafile 构建有效负载: ldata = "{"application":"" + appname + ""," ldata = ldata + ""db":"" + dbname + "", "jobtype":"dataload"," ldata = ldata + ""parameters": { "file":"" + datafile + ""," ldata = ldata + ""loaddata":"true", "abortOnError":"false"} }" - 关键还是“参数”之间的间距: { { 两侧需要有一个空格。

对 " 的转义可能会导致失明。

Thanks, gave me an idea on another permutation: Below. I had to build up payload with the vars appname, dbname, datafile below: ldata = "{"application":"" + appname + ""," ldata = ldata + ""db":"" + dbname + "", "jobtype":"dataload"," ldata = ldata + ""parameters": { "file":"" + datafile + ""," ldata = ldata + ""loaddata":"true", "abortOnError":"false"} }" - The key again is the spacing between "parameters": { Need to have a space on both side of the {.

The escaping for " can cause one to go blind.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文