首页 > Web开发 > 详细

jinja2 中的 Template 批量替换json字符串中的内容

时间:2018-05-04 12:58:57      阅读:305      评论:0      收藏:0      [点我收藏+]

项目中用到elasticsearch,使用Json格式查询方式,一个查询语句中有好几个地方需要替换,且替换的值都相同。最开始把json转为字符串发方式,利用format函数处理,发现再转回json时无法成功,同事提醒可以用jinja2模板处理字符串,

second_search = """

    {
"query": {
"bool": {
"should": [
{
"bool": {
"should": [
{
"term": {
"{{ prod }}_name_en.text": {
"value": "{{ keyword }}",
"boost": 10
}
}
},
{
"term": {
"{{prod}}_name_zh.text": {
"value": "{{ keyword }}",
"boost": 10
}
}
}
]
}
},
{
"bool": {
"should": [
{
"wildcard": {
"{{prod}}_name_en.text": {
"value": "{{ keyword }}*",
"boost": 5
}
}
},
{
"wildcard": {
"{{prod}}_name_zh.text": {
"value": "{{ keyword }}*",
"boost": 5
}
}
}
]
}
},
{
"query_string": {
"fields": ["{{prod}}_name_en", "{{prod}}_name_zh"],
"query": "{{ keyword }}",
"boost": 1
}
}
]
}
}
}
"""
second_tpl = Template(second_search)
second_str = second_tpl.render(keyword=kws, prod=‘other‘)
second_json = json.loads(second_str)
经过这么处理后再把字符串转为json对象很顺利

jinja2 中的 Template 批量替换json字符串中的内容

原文:https://www.cnblogs.com/fly-kaka/p/8989901.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!