目前我有以下输入json。我想提取值为attrs.name = Details的对象,并将其附加到输出json中(在attrs数组之外)。目前,虽然我能够将它附加到输出JSON中,但我仍然在attrs中得到该对象的副本。我想要这个副本被删除。
输入 JSON :
{
"description": "Data",
"number": "2022",
"version": 1,
"attrs": [
{
"name": "Type",
"value": "DataPack"
},
{
"name": "customerName",
"value": "ABC"
},
{
"name": "Details",
"value": {
"createdDate": "2020-09-10",
"description": "Value Pack",
"id": "20020",
"state": "Complete",
"requestedCompletionDate": "2022-09-13"
}
}
]
}
属性。name=“详细信息”可以在attrs中按任意顺序排列
输出量的希望值
{
"description": "Data",
"number": "2022",
"version": 1,
"attrs": [
{
"name": "Type",
"value": "DataPack"
},
{
"name": "customerName",
"value": "ABC"
}
],
"Details": {
"createdDate": "2020-09-10",
"description": "Value Pack",
"id": "20020",
"state": "Complete",
"requestedCompletionDate": "2022-09-13"
}
}
电流输出
{
"description": "Data",
"number": "2022",
"version": 1,
"attrs": [
{
"name": "Type",
"value": "DataPack"
},
{
"name": "customerName",
"value": "ABC"
},
{
"name": "Details",
"value": {
"createdDate": "2020-09-10",
"description": "Value Pack",
"id": "20020",
"state": "Complete",
"requestedCompletionDate": "2022-09-13"
}
}
],
"Details": {
"createdDate": "2020-09-10",
"description": "Value Pack",
"id": "20020",
"state": "Complete",
"requestedCompletionDate": "2022-09-13"
}
}
使用的颠簸规格
[
{
"operation": "shift",
"spec": {
"attrs": {
"*": {
"name": {
"Details": {
"@(2,value)": "Details"
}
},
"value": "attrs[#2].value",
"@name": "attrs[#2].name"
}
},
"*": "&"
}
}
]
有没有办法删除仍在 attrs 数组中的 attrs.name = 详细信息对象?
您需要名称 = 详细信息
和其他条件逻辑
,例如
[
{
"operation": "shift",
"spec": {
"*": "&", // else case (the attributes other than "attrs" array)
"attrs": {
"*": {
"name": {
"*": { "@2": "&4" }, // &4 replicates "attrs" (by going up the tree 4 levels)
"Details": {
"@(2,value)": "&1" // &1 replicates "Details" (by going up the tree 1 level)
}
}
}
}
}
}
]
现场演示https://jolt-demo.appspot.com/是:
我的 json 对象中有一个键值对数组,需要根据键等于主机拉出一个设置值。 我无法基于位置进行匹配,因为它可能位于成对数组中的任何位置,而且数组的大小可能会有所不同。 我当前的 Jolt 规格看起来像,但它只是列出了每对: 当前输出为: 我希望的输出如下,注意到字段名称的更改: 我想知道我是否需要先做一个修改-覆盖-测试操作,然后再进行一次转换?
我正在尝试使用jsonPath从JSON数组中提取值。 JSON响应示例: 目前的测试如下: 然而,我一直在处理我的错误代码。我只想知道它的价值。
我得到错误:“com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:Expected BEGIN_OBJECT但是BEGIN_ARRAY位于第1行column 283 path$.items.Promended[0].images” 我请求帮助从json对象提取数据。 我只需要删除类'images',并将'urls'
问题内容: 我知道它是一个数组,但是我对JSON完全陌生,需要帮助理解它的结构,这是我提取数据的尝试: 我拥有的JSON数据如下所示: 我对这些东西的掌握并不强,因此感谢所有帮助。 问题答案: 这是个主意: 它应该可以工作(如果有编译错误,请随时投诉)
编辑:键名称是动态的和未知的。 我想获取一个对象,并创建一个字符串数组,将每个键和值连接在一起。 我的键包含下划线,我需要摆脱(我有这部分工作)。我正在努力弄清楚下一步将所有内容连接在一起。(我想我错过了如何从RHS引用键和值?) 输入: 期望输出: 规格: 电流规格输出:
我正在尝试使用 Jolt 转换来转换 Json,在这里寻找一些输入。我正在尝试过滤一个键,该键是另一个属性的值。这是我的输入和预期输出 我看到的输出是 我试过的规格是 但是我没有得到预期的输出。我也尝试了一些其他组合,但未能获得正确的输出。有人能帮忙吗?