python - 将变量传递给 String vale,这是 Python 中的 JSON
问题描述
我需要传递一个变量作为date
变量来代替 Sting 值 我需要传递日期来代替2020-12-31
我的字符串值看起来像
from datetime import datetime, timedelta
date =(datetime.now() - timedelta(2)).strftime('%Y-%m-%d')
TableMappings="""{
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-action": "include",
"object-locator": {
"schema-name": "SCHEMA",
"table-name": "AUDIT_TABLE"
},
"rule-name": "1",
"filters": [
{
"filter-type": "source",
"column-name": "UTC_DATE_TIME",
"filter-conditions": [
{
"filter-operator": "gte",
"value": "2020-12-31"
}
]
}
]
}
]
}"""
解决方案
您不一定需要使用 JSON 的字符串表示进行操作并尝试对其进行模板化,您可以使用内置dict
数据类型。
import json
from datetime import datetime, timedelta
date =(datetime.now() - timedelta(2)).strftime('%Y-%m-%d')
dict_mapping = {
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-action": "include",
"object-locator": {
"schema-name": "SCHEMA",
"table-name": "AUDIT_TABLE"
},
"rule-name": "1",
"filters": [
{
"filter-type": "source",
"column-name": "UTC_DATE_TIME",
"filter-conditions": [
{
"filter-operator": "gte",
"value": date
}
]
}
]
}
]
}
str_mapping = json.dumps(dict_mapping)
如果不使用 jinja2 之类的模板引擎,尝试格式化嵌套的多行字符串并不方便,但最终传输另一端的机器不会关心它看起来有多好,如果它期望普通的旧 JSON。
推荐阅读
- javascript - Center component inside the material-ui grid
- android - 如何让操作系统强制杀死前台服务?
- knex.js - Knex insert gives error: syntax error at or near "("
- youtube-api - 如何修复 YouTube API 速率限制错误?- 应用程序没有变化的请求激增
- python-3.x - Where to use Language hints in google-vision text-detection api?
- quarkus - 如何使用 Panache 更新已经持久化的实体?
- c++ - Abaqus C++ API syntax
- reactjs - Change object in array if found by id
- google-chrome - Why is Chrome coloring my cookie red when I set it from the inspector?
- quickbooks - 来自 ReceivePaymentAddRq 的 3120 错误 - php devkit