- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 jolt 来进行一些转换,我已经能够做到这一点,但在尝试替换 JSON 文件的某些属性中的某些文本时遇到了一些问题。
我尝试用/分割该值,然后将我需要的部分与附加文本连接起来,不幸的是,这不起作用。
输入 JSON
{
"components": {
"values": {
"value1": {
"$path": "1/2/3/bear"
},
"value2": {
"$path": "1/2/3/cat"
},
"value3": {
"$path": "1/2/3/lion"
}
}
}
}
我想使用它的最后一部分将“#/myvalue/”添加到每个 $path 值。
预期结果
{
"components": {
"values": {
"value1": {
"$path": "#/myvalue/bear"
},
"value2": {
"$path": "#/myvalue/cat"
},
"value3": {
"$path": "#/myvalue/lion"
}
}
}
}
我尝试了以下一种方法来获取该值,但它没有按预期工作。
[
{
"operation": "shift",
"spec": {
"components": {
"values": {
"*": {
"\\$path": { //This key has de $ sign
"*/*/*/*": {
"$(0,4)": "\\$path" //I need to take the four part and assign that to the \\path value
}
}
}
}
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"components": {
"values": {
"*": {
"\\$path": "=concat('#/myvalue/', @(1,\\$path))"
}
}
}
}
}
]
最佳答案
您所需要的只是使用 jolt 提供的一些函数(如 split、last element、concat 等)来操作原始路径字符串
这个规范可以解决问题:
[
{
"operation": "modify-overwrite-beta",
"spec": {
"components": {
"values": {
"*": {
"temp": "=split('/',@(1,\\$path))",
"last_element": "=lastElement(@(1,temp))",
"\\$path": "=concat(#/myvalue/,@(1,last_element))"
}
}
}
}
},
{
"operation": "shift",
"spec": {
"components": {
"values": {
"*": {
"\\$path": "components.values.&1.&"
}
}
}
}
}
]
关于java - 如何使用 jolt 替换某些属性的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57120259/
如示例输入所示,我在每个对象中都有扩展数组。当扩展名不包含 subscription-type 时,输出应为空,如输出所示,否则应包含现有值。同样适用于language-type。 subscript
这是我的输入 JSON: { "AddressBilling": { "FirstName": "Some Name", "LastName": "Some N
这是我的输入 JSON: { "AddressBilling": { "FirstName": "Some Name", "LastName": "Some N
我想使用 JOLT 转换来做两件事: 过滤名为 myarray 的数组中的元素,以便只保留具有“v_518”属性的元素 过滤掉剩余元素的所有属性,除了“v_518”和“lfdn” 输入: { "i
我想为数组的每个元素添加相同的值。 我的方法是使用默认值来添加值。 它与 this one 有点不同, 因为: 我不知道如何写入数组的现有元素而不是新元素。 输入: { "counterTop":
我有以下 Elasticsearch 结果: { "took": 16, "timed_out": false, "_shards": { "total": 5
我的 Jolt 库有问题。我尝试了不同的方法,但无法获得我想要的输出。主要的事情是我想从一个数组中获取值并复制它们,但也要更改一些键名称。 "amout" -> "value" "desc" -> "
使用来自 jsonplaceholder.com 的示例 json 响应,我想对返回的未命名数组执行 Jolt 转换。 但是,使用 jolt demo我只能在命名数组(本例中为“记录”)并用大括号括起
我的 Jolt 库有问题。我尝试了不同的方法,但无法获得我想要的输出。主要的事情是我想从一个数组中获取值并复制它们,但也要更改一些键名称。 "amout" -> "value" "desc" -> "
大家好,我的 json 输入是这样的: { "chequesCollateral": [ { "accountNum": "0026.0002.62.0300162968",
我想使用 JOLT 转换库重命名嵌套在另一个数组中的数组中的字段。1.要重命名的一个字段是数组中的顶级字段2.要重命名的两个字段在嵌套数组中 我试过使用通配符,但它们没有给我预期的输出。我使用的是 J
我有以下 JSON 文档: { "pbid": 123, "pid": 0, "time": 1483551745000, "timestamp": "2017-01-
我有以下 JSON:- { "ROWNUM": "328938", "SOURCE_NAME": "I2323", "ID": "333333", "FIRST_NAME": "A12
我正在使用 Jolt 来转换数据 { "Data": { "ROOT": { "MODIFIED_DATE": "2018-06-27T13:53:47.8", "
我想将以下输入 JSON 转换为输出 JSON 格式 输入 JSON: [ { "orderNumber": "201904-000000001", "items": [
我有一个 jolt 规范,正在执行一些简单的数据转换。接下来我需要做的是将值替换为 map 中的对应值。它看起来像这样: 静态数据 replacementDictionary = { "1":
我有以下 JSON:- { "ROWNUM": "328938", "SOURCE_NAME": "I2323", "ID": "333333", "FIRST_NAME": "A12
我正在尝试使用 Jolt 库将 JSON 转换为另一个 JSON,但没有获得所需的输出。 这是我的输入文件。 { "maxResults": 150, "total": 89, "issu
我最近开始研究 jolt 库,它在 json 到 json 转换方面非常好。但我面临一些问题。其中之一是我无法在多个地方使用特定字段。例如:输入文件包含时间戳字段,输出是一个 json 数组。我想将其
我正在尝试使用 JOLT 将一组对象转换为输出 JSON,而其中不包含包装器 key 。 输入 { "emps": [ { "emp": { "empId":
我是一名优秀的程序员,十分优秀!