Json文件和Yaml文件转换

一:理解概念(Json和Yaml)

HTTP基础

HTTP(Hypertext Transfer Protocol)是用于在Web上进行数据通信的协议

  1. 请求(Request):客户端(通常是浏览器)向服务器发送请求。请求包括以下内容:

    • 请求行:包括HTTP方法(如GET、POST)、请求URL和HTTP版本。
    • 请求头(Headers):包含请求的元数据,如User-Agent、Accept、Content-Type等。
    • 请求体(Body):在POST或PUT请求中包含数据,如表单数据或JSON。
  2. 响应(Response):服务器处理请求后返回的响应。响应包括以下内容:

    • 状态行:包括HTTP版本、状态码(如200、404)和状态描述。
    • 响应头(Headers):包含响应的元数据,如Content-Type、Content-Length等。
    • 响应体(Body):包含实际的数据,如HTML、JSON等。

HTTP方法

  • GET:请求资源,不改变服务器状态。
    例如我们通常进行的http访问都是基于GET请求,**请求头中包含可以包含请求数据,请求体中不可以包含数据,包含数据大小为1024字节
  • POST:向服务器提交数据,通常用于表单提交。
    例如我们通常网页上登录功能,提交的用户名和密码就是以表单或者文件形式提交到服务器的,在认证后方可返回网络资源,**数据包含在请求体中,没有上限**,另外POST请求可能会导致**新的资源的建立**或**已有资源的修改(可以反复提交)**;
  • PUT:更新资源。
    向指定资源位置上传其最新内容,**同一个位置PUT请求只能存在一次**,再次操作会报错(执行需要权限);
  • DELETE:删除资源。
    请求服务器删除Request-URL所标识的资源(执行需要权限)。
  • HEAD:常用测试网站健康状况的命令,服务器**只返回响应头,不会返回响应体(响应体中可能包含大量的数据)**;

GET和POST的区别

JSON特点

  • 简单易读:结构化数据格式,常用于Web API。
  • 数据类型支持:包括字符串、数字、数组、对象、布尔值和null。
  • 广泛支持:几乎所有编程语言和框架都支持。

YAML特点

  • 易读性好:比JSON更简洁,注重人类可读性。
  • 数据类型支持:与JSON类似,支持字符串、数字、列表、字典、布尔值和null。
  • 缩进敏感:使用缩进表示层级关系,类似Python。

二:下载文件转换工具

Yq命令安装:

wget https://github.com/mikefarah/yq/releases/download/v4.16.2/yq_linux_amd64 \

  && chmod +x yq_linux_amd64 \

  && mv yq_linux_amd64 /usr/local/bin/yq

三:工具的使用方式

先写两个文件,一个Yaml文件和一个Json文件

例如:

Yaml文件

#一个YAML案例,用缩进代表层级关系,用#做注释
name: "蔡徐坤"
age: 20
personalInfo:
  hobby: "唱跳rap篮球"
  oral: "你干嘛~~~哎哟~~"

Json文件

json
//一个JSON案例,必须全部用花括号包起来,用//做注释
{
    "name":"蔡徐坤",
    "age":20,
    "personalInfo":{
        "hobby":"唱跳rap篮球",
        "oral":"你干嘛~~~哎哟~~"}
}

写完文件,使用yq方法
yq命令的使用        
         yaml转换为json

                yq eval -o json cxk.yaml |tee cxk.json

   json转换为yaml

                yq eval -P cxk.json | tee cxk.yml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值