json - 如何在液体 json 转换中的同一表达式中使用拆分和替换?
问题描述
输入字符串 -
{"testData":"jack%2C LLC,ville%2C LLC,Nav LLC,50 New Hope%2C LLC,"}
预期产出
{"output":"<Value>jack, LLC</Value><Value>ville, LLC</Value><Value>Nav LLC</Value><Value>50 New Hope, LLC</Value>"}
使用此转换 -
%2C 转换为值标签后转换为 , 逗号,这样它就不会与分隔符逗号发生干扰。
我试过像下面的表达式
{%
"output": "<Value>{{ demo | Split: ',' | Last }}</Value>",
%}
但是需要先使用replace替换%2C
为,
,然后使用split
字符串使用,
并分隔所有可用值并使用<Value>
标签。
预期输出是 -
{"output":"<Value>jack, LLC</Value><Value>ville, LLC</Value><Value>Nav LLC</Value><Value>50 New Hope, LLC</Value>"}
解决方案
对于此要求,您可以使用以下液体模板:
{% assign arr = content.testData | Split: "," %}
{
"output": "{% for item in arr %}<value>{{item | Replace: "%2C", ","}}</value>{% endfor %}"
}
希望有帮助~
推荐阅读
- inno-setup - Inno Setup 无法处理带有空格的源路径
- javascript - 如何仅更新部分状态
- python - 当我添加 PushButtons 时,KeyPressEvent() 不适用于标签
- c++ - Tensorflow 默认如何使用 CPU 内核?
- stm32 - MPU6050 在地址 0x68 上没有响应,但出现在 I2C 扫描地址中
- c# - 使用 PostMessage 模拟鼠标点击
- python-3.x - 如果循环在不需要时重复自身
- excel - 防止小数的 VBA 输入框
- javascript - javascript网页未在前台模式下接收通知,尽管在后台接收(仅数据消息)
- sql - 在 SQL Server 中的 select concat 语句中包含引号