json 路径语法对值进行排序

Posted

技术标签:

【中文标题】json 路径语法对值进行排序【英文标题】:json path syntax to sort the values 【发布时间】:2021-11-06 18:06:52 【问题描述】:

我正在我当前的项目中进行 API 测试。我在 json 数据下面得到了这个来验证一些表值。但是我不知道如何对卷进行排序区域应该按升序排序。

 
    "type": "Financial Risk",
    "category_volume_list": [
                "category_type": "Volume as Acquirer",
                "volumes": [
                            "region": "NA",
                            "volume": 1279550601.24,
                            "currency": "USD"
                        ,
                        
                            "region": "EUR",
                            "volume": 1642489095.24,
                            "currency": "USD"
                        ,
                        
                            "region": "LAC",
                            "volume": 3149627.36,
                            "currency": "USD"
                        ,
                        
                            "region": "CEMEA",
                            "volume": 1106493.08,
                            "currency": "USD"
                        ,
                        
                            "region": "AP",
                            "volume": 118011586.85,
                            "currency": "USD"
                        

【问题讨论】:

【参考方案1】:

这对我有用

import json
from jsonpath_ng import parse

json_data = json.loads(json_string)
jsonpath_expression = parse('$..region')
region_list_origin = [match.value for match in jsonpath_expression.find(json_data)]
region_list_copy = region_list_origin.copy()
region_list_copy.sort()
print(region_list_origin) //['NA', 'EUR', 'LAC', 'CEMEA', 'AP']
print(region_list_copy)   //['AP', 'CEMEA', 'EUR', 'LAC', 'NA']

【讨论】:

以上是关于json 路径语法对值进行排序的主要内容,如果未能解决你的问题,请参考以下文章

通过 PHP 将 Sql 数据库转换为具有正确格式的 JSON,并在 PHP 脚本本身中对值进行排序

编写一个函数对对象数组进行排序(通过使用另一个对象来指定排序路径和顺序)

map转json路径不同

mysql JSON路径遍历数组的正确语法?

从相对于当前文件的路径获取绝对值

路由路径的语法差异