jolt转换后json对象的排序

jolt转换后json对象的排序,json,jolt,Json,Jolt,输入: { //The input json object } 所需输出: { "Event1": "Value1", "Event2": [ // collection of json objects ], "Event3": { //The input json object } } 因此,基本上输入json放在

输入:

{

//The input json object

}
所需输出

{

"Event1": "Value1",
"Event2": [
            // collection of json objects
          ],

"Event3": {
            //The input json object
          }

}
因此,基本上输入json放在另一个json对象包装器的“Event3”中

这是我的规格:

{

//The input json object

}
[
{
“操作”:“移位”,
“规格”:{
@:“事件3”
}
},
{
“操作”:“默认值”,
“规格”:{
“事件1”:“值1”,
“事件2”:[
//一些物体
]
}
}
]
现在的问题是-上面的规范正在进行转换,但对象的顺序混乱,如下所示:


请建议如何解决此问题。

您是否尝试过使用排序操作

[
{
“操作”:“排序”,
“规格”:{
"*": ""
}
}
]

我想这可能对你有好处;)

尝试在最后使用另一个
shift
操作,以使它们按所需顺序排列

[
  {
    "operation": "shift",
    "spec": {
      "@": "Event3"
    }
    },
  {
    "operation": "default",
    "spec": {
      "Event1": "Value1",
      "Event2": [
        "ob1", "obj2"
        ]
    }
    },
  {
    "operation": "shift",
    "spec": {
      "Event1": "Event1",
      "Event2": "Event2",
      "Event3": "Event3"
    }
    }
]

添加另一个移位操作,只需将每个字段从输入json复制粘贴到输出json即可。
[
{
“操作”:“移位”,
“规格”:{
@:“事件3”
}
},
{
“操作”:“默认值”,
“规格”:{
“事件1”:“值1”,
“事件2”:[
“ob1”、“obj2”
]
}
},
{
“操作”:“移位”,
“规格”:{
“Event1”:“&”//与“Event1”相同:“Event1”,
“事件2”:“&”,
“事件3”:“和”
}
}

]
谢谢您的回答。不过有一个小问题-排序将按属性名称的字母顺序排列它们;在我的例子中,我使用的名称是-Event1,Event2。。只是为了代表。我的实际json具有不同的属性名称。有没有办法通过指定属性名来设置顺序?我不这么认为。来自jolts git页面:“排序顺序是标准的字母升序”。