PBDB Data Service:JSON format(JSON格式)

news/2024/11/17 23:49:21/

JSON format(JSON格式)

      • 描述
      • 概要
      • 例子
        • 例1:[/data1.1/colls/single.json?id=1003](https://paleobiodb.org/data1.1/colls/single.json?id=1003)
        • 例2:[/data1.1/config.json?show=clusters&count](https://paleobiodb.org/data1.1/config.json?show=clusters&count)
        • 例3:[/data1.1/colls/list.json?lngmin=50.0&show=foo](https://paleobiodb.org/data1.1/colls/list.json?lngmin=50.0&show=foo)
      • 我的备注

描述

本文详细介绍JSON响应格式

概要

JSON (JavaScript对象表示法)格式是通过以.json后缀结束URL路径来选择的。这种格式非常灵活,常用于构建在此数据服务之上的web应用程序,以及与其他数据库之间传输内容。JSON响应总是以UTF-8编码。

这种格式的响应体由一个JSON对象组成,包含以下一个或多个字段:

  • records:该字段的值是一组对象,每一个对象表示数据库中的一条记录。如果URL路径和参数被解释为有效查询,则该字段将始终存在,但如果查询不匹配任何记录,则数组可能为空。
  • records_found:如果指定了参数count,则该字段将出现。它的值是查询匹配的记录数。
  • records_returned:如果指定了参数count,则该字段将出现。它的值将是实际返回的记录数。这可能少于找到的记录总数,因为结果集的大小默认限制为500。您可以使用limit参数来覆盖它。
  • record_offset:如果指定了参数count,并且使用大于零的值指定了offset,则该字段将出现。第二列中的值将是在结果集开始时跳过的记录数。
  • data_source:如果指定了showsource,该字段将会出现。它的值将是该数据源的名称。
  • data_source_url:如果指定了showsource,该字段将会出现。它的值将是该数据源的基URL。
  • data_license:如果指定了showsource,该字段将会出现。它的值将是提供该数据的许可。
  • data_license_url:如果指定了showsource,该字段将会出现。它的值将是一个URL,可以从中获取许可条款。
  • documentation_url:如果指定了showsource,该字段将会出现。它的值将是一个URL,该URL提供了关于用于获取该数据的URL路径的文档。这个URL将记录参数和响应字段。这一信息可能有助于指导以后对这一数据的解读。
  • data_url:如果指定了showsource,该字段将会出现。它的值将是用于获取该数据的实际URL。如果将此数据集保存到磁盘,则包含的字段将允许某人稍后重复此查询。
  • access_time:如果指定了showsource,该字段将会出现。它的值将是访问该数据的日期和时间(GMT)。如果将此数据集保存到磁盘,则包含的字段将使其能够根据访问时间与其他数据集进行比较。
  • parameters:如果指定了showsource,该字段将会出现。它的值将是一个对象,其字段表示用于生成此结果的参数和值。如果将此数据集保存到磁盘,则参数信息可能有助于记录数据是如何选择的,它包括什么,以及不包括什么。
  • warnings:如果在执行查询期间生成了任何警告,则将显示此字段。它的值将是一个字符串数组,每个字符串表示一条警告消息。
  • errors:如果遇到错误,将显示此字段。它的值将是一个字符串数组,每个字符串代表一个错误消息。通常,如果该字段存在,则其他字段都不存在。
  • status_code:如果HTTP状态码不是200,就会出现这个字段。它的值将是以下之一:
    400:一个或多个URL参数无效。具体原因将在errors中显示。此请求未经修正不应再次提交。
    401:此请求需要身份验证。请注意,身份验证模块还没有添加到数据服务中,因此您还不应该看到这一点。
    404:URL路径无效。此请求未经修正不应再次提交。
    500:发生内部错误。如果这种情况仍然存在,您应该联系服务器管理员。或者,稍后重新提交请求。

例子

例1:/data1.1/colls/single.json?id=1003

响应的主题如下:

{"records": [{"oid": 1003,"typ": "collection","lng": -94.804169,"lat": 37.331112,"prc": "seconds","nam": "USGS 7848-Cherokee Co., Kansas","noc": 1,"oei": "Desmoinesian","rid": 33}]
}

主体由一个名为records的对象组成,该对象的值是一个数组。数组的每个元素表示从数据库中获取的一条记录。

例2:/data1.1/config.json?show=clusters&count

正如此例的响应主体,很多URL路径可以返回多个记录。

{
"elapsed_time":0.000109,
"records_found":3,
"records_returned":3,
"records": [
{"cfg":"clu","lvl":"1","deg":"6.00000","cnt":"821","mco":"5670","moc":"43550"},
{"cfg":"clu","lvl":"2","deg":"2.00000","cnt":"3807","mco":"2205","moc":"16165"},
{"cfg":"clu","lvl":"3","deg":"0.50000","cnt":"17917","mco":"932","moc":"12081"}
]
}

可以观察到,count参数的添加让结果显示了records_foundrecords_returned两个字段。

例3:/data1.1/colls/list.json?lngmin=50.0&show=foo

{ "status_code": 400,
"errors": ["you must specify both of 'lngmin' and 'lngmax' if you specify either of them"],
"warnings": ["bad value 'foo' for 'show': must be one of 'bin', 'attr', 'ref', 'loc', 'paleoloc', 'prot', 'time', 'strat', 'stratext', 'lith', 'lithext', 'geo', 'rem', 'ent', 'entname', 'crmod'"] }

这个响应体传达了一个错误和一个警告,以及一个状态码400 (Bad Request),它表明URL参数有问题。

我的备注

本文中提及的参数countshowsource,应该分别是rowcountdatainfo


http://www.ppmy.cn/news/59980.html

相关文章

OpenCV中的图像处理3.4-3.6(四)平滑化、形态学、图像梯度

目录 3.4 平滑化图像目标二维卷积 ( 图像滤波 )图像模糊(图像平滑)其他资源 3.5 形态学转换目标理论结构化元素 3.6 图像梯度目标理论代码一个重要的问题! 翻译及二次校对:cvtutorials.com 编辑者:廿瓶鲸(和鲸社区Siby团队成员) …

台积电和三星都变脸了,美国图谋失败,外媒:拜登心都碎了

美国的图谋甚大,然而美国的图谋却又如此迅速的浮现,看穿美国图谋的台积电和三星两家芯片企业如今不干了,这将破坏美国的计划,让美国无可奈何。 一、美国精心编织的大网 从数年前开始,美国就要求台积电和三星上交机密数…

计算机组成原理9控制单元的结构

9.1操作命令的分析 取值周期间址周期执行周期中断周期 取指周期数据流 PC存放下条指令的地址给MAR访问存储器相应单元,将数据取出来送给MDR寄存器,MDR取出来的内容送给IR指令寄存器,然后对指令进行译码,把指令的操作码部分取出…

DVPP媒体数据处理视频解码问题案例

DVPP(Digital Vision Pre-Processing)是昇腾AI处理器内置的图像处理单元,通过AscendCL媒体数据处理接口提供强大的媒体处理硬加速能力,主要功能包括图像编解码、视频编解码、图像抠图缩放等。 本期就分享几个关于DVPP视频解码问题…

今天面了个字节跳动拿35K出来的,真是砂纸擦屁股,给我露了一手啊

今年的金三银四已经结束,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好,他山之…

C++之C++新特性

目录 C11autofor_each就地初始化非静态成员的sizeoffinaloverrideinitialize_list提高类型安全 C14C17基本语言特性结构化绑定 新属性和属性特性[[nodiscard]][[maybe_unused]][[fallthrough]] 模板特性新的标准库组件std::optional<>std::variant<>std::any #incl…

华为OD机试 - 模拟商场优惠打折(Python)

题目描述 模拟商场优惠打折,有三种优惠券可以用,满减券、打折券和无门槛券。 满减券:满100减10,满200减20,满300减30,满400减40,以此类推不限制使用; 打折券:固定折扣92折,且打折之后向下取整,每次购物只能用1次; 无门槛券:一张券减5元,没有使用限制。 每个人…

【校招VIP】用户反驳:你说大厂校招不会问框架实战,现在就有问的了,打脸了吧?一看是专业技能给自己挖的坑

最近有个用户过来质疑&#xff0c;不是说大厂不考框架的使用吗&#xff1f; 但网上的这两份面经里&#xff0c;却问到关于SpringBoot的问题。 接着发来了相对应的简历&#xff0c;一看&#xff0c;直接真相大白&#xff1a; 他在专业技能这栏写了&#xff1a;我熟练掌握Sprin…