当前位置: 首页 > 面试题库 >

JSON的结构化查询语言(在Python中)

后源
2023-03-14
问题内容

我正在使用输出JSON文件的系统,并且使用Python解析数据并将其显示在UI(PySide)中。我现在想向该系统添加过滤,我认为与其编写一个查询系统,而不是编写查询系统,如果有一个用于JSON(在Python中)的查询系统,那将节省很多开发时间。

但这更多的是基于Web的系统。关于Python等效的任何想法吗?

编辑[为清楚起见]:

我将生成的数据格式如下:

{
    "Operations": [
    {
        "OpID": "0", 
        "type": "callback", 
        "stringTag1": "foo1", 
        "stringTag2": "FooMsg", 
        "Children": [...],
        "value": "0.000694053"
   },
   {
        "OpID": "1", 
        "type": "callback", 
        "stringTag1": "moo1", 
        "string2": "MooMsg", 
        "Children": [...],
        "value": "0.000468427"
   }
}

“子项”可以嵌套同一事物的数组(其他操作)。该系统将被构建为允许用户向数据添加自己的标签。我希望有一个查询系统,该系统也允许用户定义自己的“过滤器”,因此存在有关查询语言的问题。如果有什么可以让我做一些事情,例如“
SELECT * WHERE” type“ ==” callback“并获得必要的操作,那将是很棒的。

Pync的建议很有趣,我来看一下。


问题答案:

我考虑了一下,然后倾向于一些不太具体的东西,例如“
JSON查询语言”,并考虑了一些更通用的东西。我记得与C#一起工作时曾记得他们有一个称为LINQ的通用查询系统来处理这类查询问题。

看起来Python具有类似的称为Pynq的东西,它支持基本查询,例如:

filtered_collection = From(some_collection).where("item.property > 10").select_many()

它甚至似乎具有一些基本的聚合功能。虽然不特定于JSON,但我认为这至少是查询的一个很好的起点。



 类似资料:
  • 问题内容: 在SQL中,“结构化”一词是什么意思? 是否因为此(SQL)语言语句被组织为子句,表达式和谓词? 由于这个组织,它被称为“结构化”吗? 问题答案: 最初的全名是SEQUEL,代表“结构化英语查询语言”。由于商标问题,后来不得不将其重命名为SQL。 因此,基本上,这是将编程语言出售为“就像英语一样,除了具有正式语法外”的另一种尝试(因此称为“结构化”)。

  • 问题内容: 是否存在(大致)SQL或类似XQuery的语言来查询JSON? 我想到的是非常小的数据集,可以很好地映射到JSON,可以轻松地回答诸如“ Y> 3时X的所有值是什么”之类的查询或执行常规的SUM / COUNT类型操作。 作为完整的示例,如下所示: 我认为这将在客户端和服务器端均有效,并将结果转换为适当的特定于语言的数据结构(或可能保留为JSON) 快速Google 搜寻表明人们已经考

  • 本文向大家介绍SQL(结构化查询语言)和T-SQL(Transact-SQL)之间的区别。,包括了SQL(结构化查询语言)和T-SQL(Transact-SQL)之间的区别。的使用技巧和注意事项,需要的朋友参考一下 的SQL SQL,结构化查询语言是一种非过程性语言,数据库引擎使用它来解释SQL查询以创建/修改/访问数据库元素。 T-SQL T-SQL Transact-SQL是SQL的过程扩展,

  • 魔方加密的 PHP 规范支持标准 PHP 规范中常用的语法结构。 echo 语法为: echo statement; echo statement_1[, statement_2[, ...]]; exit 语法为: exit; exit(); exit(statement); 请注意,exit(statement); 不论表达式的值是整数还是字符串,总会输出后才终止脚本,这与标准

  • Hyperledger Composer中的查询以定制的查询语言编写。查询在业务网络定义中的一个叫(queries.qry)的查询文件中定义。 查询语法 所有查询都必须包含description和statement属性。 描述 该description属性是描述查询功能的字符串。它必须包含但可以包含任何东西。 声明 该statement属性包含查询的定义规则,可以具有以下运算符: SELECT 是

  • 主要内容:基本的实例化形式,创建指针类型的结构体,取结构体的地址实例化结构体的定义只是一种内存布局的描述,只有当结构体实例化时,才会真正地分配内存,因此必须在定义结构体并实例化后才能使用结构体的字段。 实例化就是根据结构体定义的格式创建一份与格式一致的内存区域,结构体实例与实例间的内存是完全独立的。 Go语言可以通过多种方式实例化结构体,根据实际需要可以选用不同的写法。 基本的实例化形式 结构体本身是一种类型,可以像整型、字符串等类型一样,以 var 的方式声明结构