使用 jolt 对 json 数组中的数组进行排序

Posted

技术标签:

【中文标题】使用 jolt 对 json 数组中的数组进行排序【英文标题】:sort an array within a json array with jolt 【发布时间】:2021-12-18 08:24:40 【问题描述】:

我有一个数组,用于在应用程序中显示一些需要排序的文件。

我想知道是否可以将“创建日期”的最新“值”摇序。

我们还没有用数组里面的数组来实现

这是条目:

[
  
    "campos": [
      
        "nombre_campo": "ID",
        "valor": "1635942768793"
      ,
      
        "nombre_campo": "Fecha creación",
        "valor": "2021-01-04 09:32:48"
      
    ]
  ,
  
    "campos": [
      
        "nombre_campo": "ID",
        "valor": "1632417779050"
      ,
      
        "nombre_campo": "Fecha creación",
        "valor": "2021-09-23 14:22:59"
      
    ]
  
]

我愿意:

[
  
    "campos": [
      
        "nombre_campo": "ID",
        "valor": "1632417779050"
      ,
      
        "nombre_campo": "Fecha creación",
        "valor": "2021-09-23 14:22:59"
      
    ]
  ,
  
    "campos": [
      
        "nombre_campo": "ID",
        "valor": "1635942768793"
      ,
      
        "nombre_campo": "Fecha creación",
        "valor": "2021-01-04 09:32:48"
      
    ]
  
]

有可能吗?

谢谢

【问题讨论】:

【参考方案1】:

我们可以在操作后使用 sort 规范,通过在第一个 shift 规范中使用 ID 值替换名为 campos 的键,因为sort 规范没有 descreasing 选项,但我们有机会获得 ID 值在减少,而 Fecha creación(eg. Creation date ) 值正在增加。

因此,请考虑应用以下规范

[
  
    "operation": "shift",
    "spec": 
      "*": 
        "*": "@(1,&[0].valor)"
      
    
  ,
  
    "operation": "sort"
  ,
  
    "operation": "shift",
    "spec": 
      "*": "&.campos"
    
  ,
  
    "operation": "shift",
    "spec": 
      "*": ""
    
  
]

【讨论】:

以上是关于使用 jolt 对 json 数组中的数组进行排序的主要内容,如果未能解决你的问题,请参考以下文章

数据未排序时如何对数组中的json数据进行排序?

如何在swift 4中对数组中的JSON数据进行排序

Jolt 将多个对象转换为具有新字段名称的数组

什么样的 JSON JOLT Spec 来获取键值输出,其中键是数据值,值是数组

使用数组中的日期按日期对 UITableview 进行排序

按属性对 JSON 数组进行排序的通用方法