教育行业网站模板,深圳做网站优化报价,做百度网站网站排名赚钱吗,网站改版技术要求一. JSON格式
JSON#xff08;JavaScript Object Notation#xff09; 是一种轻量级的数据交换格式。它基于一个子集的JavaScript编程语言#xff0c;使用人类易于阅读的文本格式来存储和表示数据。尽管名字中有“JavaScript”#xff0c;但JSON是语言无关的#xff0c;几…一. JSON格式
JSONJavaScript Object Notation 是一种轻量级的数据交换格式。它基于一个子集的JavaScript编程语言使用人类易于阅读的文本格式来存储和表示数据。尽管名字中有“JavaScript”但JSON是语言无关的几乎所有的现代编程语言都支持JSON编码和解码。
一个简单的JSON对象示例
{name: John,age: 30,isStudent: false,courses: [Math, Science],address: {city: New York,zipcode: 10001}
}
二. Curl命令
2.1 Curl
Curl 是一个非常强大的命令行工具用于从服务器传输数据或向服务器传输数据。它支持多种协议包括HTTP、HTTPS、FTP等。Curl常用于测试RESTful API获取网页内容上传文件等。
基本语法
curl [options] [URL]
例如获取某个网站的内容
curl http://example.com
当你需要与API交互时比如获取JSON格式的数据你可以这样做
curl -X GET http://localhost:11434/api/tags
这里的-X选项指定请求的方法GET、POST等默认为GET。
curl这里可以展开说一下与API交互就比如说常用的REST API
2.2 REST API
RESTRepresentational State TransferAPI 是一种设计风格用于构建网络服务。它利用标准的 HTTP 方法如 GET、POST、PUT、DELETE 等来操作资源并通过 URL 来标识这些资源。REST API 的设计理念是基于 Web 的架构使得它们易于理解和使用。 资源Resources 在 REST 中一切都被视为资源。资源可以是任何实体例如用户、产品、订单等。每个资源都有一个唯一的标识符通常是 URL。例如/users/123 可以表示 ID 为 123 的用户。 HTTP 方法 GET用于检索资源。例如GET /users/123 获取 ID 为 123 的用户信息。POST用于创建新资源。例如POST /users 创建一个新的用户。PUT用于更新现有资源。例如PUT /users/123 更新 ID 为 123 的用户信息。DELETE用于删除资源。例如DELETE /users/123 删除 ID 为 123 的用户。 状态码Status Codes REST API 使用 HTTP 状态码来表示请求的结果。 200 OK请求成功。201 Created资源已成功创建。400 Bad Request请求无效或格式错误。404 Not Found请求的资源不存在。500 Internal Server Error服务器内部错误。 无状态性Statelessness REST API 是无状态的这意味着每个请求都必须包含处理该请求所需的所有信息。服务器不会存储客户端的状态信息这有助于提高可扩展性和可靠性。 示例 假设我们有一个简单的在线书店 API以下是一些示例请求 获取所有书籍列表 GET /books 获取特定书籍详情 GET /books/123 创建新书籍 POST /books
{title: The Great Gatsby,author: F. Scott Fitzgerald,price: 10.99
} 更新书籍信息 PUT /books/123
{title: The Great Gatsby,author: F. Scott Fitzgerald,price: 12.99
} 删除书籍 DELETE /books/123
这些API确实很好但是不能直接在Terminal应用这些API所以需要像Curl这样的工具 1. GET 请求
获取资源数据。
curl -X GET http://localhost:11434/api/tags
2. POST 请求
创建新资源。
curl -X POST http://localhost:11434/api/users \
-H Content-Type: application/json \
-d {name: Alice, age: 30}
3. PUT 请求
更新现有资源。
curl -X PUT http://localhost:11434/api/users/123 \
-H Content-Type: application/json \
-d {name: Alice, age: 31}
4. DELETE 请求
删除资源。
curl -X DELETE http://localhost:11434/api/users/123 三. 轻量化处理工具jq
jq 是一个命令行工具用于处理JSON数据。它可以用来解析、过滤、映射和转换JSON数据。对于需要快速查看或处理JSON数据的情况jq是一个非常好的选择。
安装jq根据你的操作系统
sudo apt-get install jq
使用jq的例子 美化JSON输出将curl的结果通过管道传递给jq进行格式化。 curl http://localhost:11434/api/tags | jq . 提取特定字段假设你只对模型的名字和大小感兴趣 curl http://localhost:11434/api/tags | jq .models[] | {name, size} 过滤数据仅显示满足特定条件的数据如大小大于某个值的模型。 curl http://localhost:11434/api/tags | jq .models[] | select(.size 5000000000) | {name, size}
通过结合使用curl和jq你可以更高效地与API交互并轻松处理返回的JSON数据。这在开发和调试过程中特别有用。
下面的第一个是直接拿回来的json数据没有使用任何工具进行处理 这一个使用了jq工具进行处理具有了明显的层次感 提取models数组只关心数组中的name和model两个关键字